def test_init(self): db_manager = dbmanager.DBManager(self.config, kw='kw') assert db_manager.connection == 'mysql+pymysql://user:pass@localhost:10/scalr' assert db_manager.kwargs == {'kw': 'kw'} db_manager = dbmanager.DBManager(self.config) assert db_manager.connection == 'mysql+pymysql://user:pass@localhost:10/scalr' assert db_manager.kwargs == {} db = db_manager.get_db() assert db is not None assert db_manager.db is not None
def update_status(step, status): db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() try: zones = db.session.query(db.dns_zones).all() for zone in zones: zone.status = status if status in ['Pending create', 'Pending update']: if zone.zone_name not in world.dns_zones_files_for_create: world.dns_zones_files_for_create.append(zone.zone_name) try: world.dns_zones_files_for_remove.remove(zone.zone_name) except: pass try: world.dns_zones_for_remove.remove(zone.zone_name) except: pass if status in ['Pending delete', 'Inactive']: if zone.zone_name not in world.dns_zones_files_for_remove: world.dns_zones_files_for_remove.append(zone.zone_name) try: world.dns_zones_files_for_create.remove(zone.zone_name) except: pass if status in ['Pending delete']: if zone.zone_name not in world.dns_zones_files_for_remove: world.dns_zones_for_remove.append(zone.zone_name) db.session.commit() finally: db.session.remove() assert True
def create_farm_role_settings_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `farm_role_settings` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`farm_roleid` int(11) DEFAULT NULL,"+\ "`name` varchar(255) DEFAULT NULL,"+\ "`value` text,"+\ "PRIMARY KEY (`id`),"+\ "UNIQUE KEY `unique` (`farm_roleid`,`name`),"+\ "KEY `name` (`name`(30))"+\ ") ENGINE=MyISAM AUTO_INCREMENT=293325591 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def start_daemon(step): try: QSIZE = 1024 CRATIO = 120 # Common ratio for send interval progression db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() where1 = and_(db.messages.type == 'out') where2 = and_(db.messages.message_version == 2) where3 = and_(func.unix_timestamp(db.messages.dtlasthandleattempt) +\ db.messages.handle_attempts * CRATIO < func.unix_timestamp( func.now())) msgs = db.messages.filter(db.messages.status==0,\ where1, where2, where3).order_by( desc(db.messages.id)).all()[0:QSIZE] world.right_msgs = [msg.messageid for msg in msgs] assert len(world.right_msgs) != 0 cnf = ETC_DIR + '/config.yml' subps.Popen([ 'python', '-m', 'scalrpy.messaging', '--start', '-vvv', '-c', cnf ]) time.sleep(2) ps = subps.Popen(['ps -ef'], shell=True, stdout=subps.PIPE) output = ps.stdout.read() ps.stdout.close() ps.wait() assert 'scalrpy.messaging --start' in output except Exception: assert False finally: db.session.close() db.session.remove()
def create_farm_settings_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `farm_settings` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`farmid` int(11) DEFAULT NULL,"+\ "`name` varchar(50) DEFAULT NULL,"+\ "`value` text,"+\ "PRIMARY KEY (`id`),"+\ "UNIQUE KEY `farmid_name` (`farmid`,`name`)) "+\ "ENGINE=InnoDB AUTO_INCREMENT=3173597 "+\ "DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def create_server_properties_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `server_properties` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`server_id` varchar(36) DEFAULT NULL,"+\ "`name` varchar(255) DEFAULT NULL,"+\ "`value` text,"+\ "PRIMARY KEY (`id`),"+\ "UNIQUE KEY `serverid_name` (`server_id`,`name`),"+\ "KEY `serverid` (`server_id`),"+\ "KEY `name_value` (`name`(20),`value`(20)),"+\ "CONSTRAINT `server_properties_ibfk_1` FOREIGN KEY "+\ "(`server_id`) REFERENCES `servers` (`server_id`)"+\ "ON DELETE CASCADE ON UPDATE NO ACTION) "+\ "ENGINE=InnoDB AUTO_INCREMENT=533922744 "+\ "DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def start_daemon(step): db_manager = dbmanager.DBManager(world.config['connections']['mysql'], autoflush=False) db = db_manager.get_db() try: CRATIO = 120 where = and_( db.messages.status == 0, db.messages.type == 'out', db.messages.message_version == 2, db.messages.message != '', db.messages.message != None, func.unix_timestamp(db.messages.dtlasthandleattempt) + db.messages.handle_attempts * CRATIO < func.unix_timestamp( func.now())) msgs = db.messages.filter(where).order_by(desc(db.messages.id)).all() world.right_msgs = [ msg.messageid for msg in msgs if msg.message_name != 'ExecScript' ] assert len(world.right_msgs) != 0 config = ETC_DIR + '/config.yml' assert lib.start_daemon('msg_sender', config) finally: db.session.remove()
def create_role_behaviors_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `role_behaviors` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`role_id` int(11) DEFAULT NULL,"+\ "`behavior` varchar(25) DEFAULT NULL,"+\ "PRIMARY KEY (`id`),"+\ "UNIQUE KEY `role_id_behavior` (`role_id`,`behavior`),"+\ "KEY `role_id` (`role_id`)"+\ #"CONSTRAINT `role_behaviors_ibfk_1` FOREIGN KEY (`role_id`) "+\ #"REFERENCES `roles` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION"+\ ") "+\ "ENGINE=InnoDB AUTO_INCREMENT=71741 "+\ "DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def test_init(self): db_manager = dbmanager.DBManager(self.config) assert db_manager.connection == 'mysql+pymysql://user:pass@localhost:10/scalr' assert db_manager.kwargs == {'pool_recycle': 120, 'pool_size': 4} db = db_manager.get_db() assert db is not None assert db_manager.db is not None
def right_messages_have_right_handle_attemps(step, val): db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() msgs = db.messages.filter(db.messages.messageid.in_( world.right_msgs)).all() for msg in msgs: assert msg.handle_attempts == int(val)
def right_messages_have_right_handle_attemps(step, val): db_manager = dbmanager.DBManager(world.config['connections']['mysql'], autoflush=False) db = db_manager.get_db() try: msgs = db.messages.filter(db.messages.messageid.in_( world.right_msgs)).all() for msg in msgs: assert msg.handle_attempts == int(val) finally: db.session.remove()
def check_update_db(step): db_manager = dbmanager.DBManager(world.config['connections']['mysql'], autoflush=False) db = db_manager.get_db() try: events = db.events.filter(db.events.event_id.in_( world.mail_events)).all() for event in events: assert event.ishandled == 1 finally: db.session.remove()
def right_messages_were_delivered(step): db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() msgs = db.messages.filter(db.messages.messageid.in_( world.right_msgs)).all() assert len(msgs) != 0 for msg in msgs: assert msg.status == 1
def check_database(step): db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() try: zones = db.session.query(db.dns_zones).filter( db.dns_zones.zone_name.in_(world.dns_zones_for_remove)).all() assert not zones zones = db.session.query(db.dns_zones).filter( db.dns_zones.zone_name.in_( world.dns_zones_files_for_create)).all() for zone in zones: assert zone.status == 'Active' finally: db.session.remove
def right_messages_were_delivered(step): db_manager = dbmanager.DBManager(world.config['connections']['mysql'], autoflush=False) db = db_manager.get_db() try: msgs = db.messages.filter(db.messages.messageid.in_( world.right_msgs)).all() assert len(msgs) != 0 for msg in msgs: assert msg.status == 1 finally: db.session.remove()
def create_servers_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `servers` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`server_id` varchar(36) DEFAULT NULL,"+\ "`farm_id` int(11) DEFAULT NULL,"+\ "`farm_roleid` int(11) DEFAULT NULL,"+\ "`client_id` int(11) DEFAULT NULL,"+\ "`env_id` int(11) NOT NULL,"+\ "`role_id` int(11) DEFAULT NULL,"+\ "`platform` varchar(10) DEFAULT NULL,"+\ "`status` varchar(25) DEFAULT NULL,"+\ "`remote_ip` varchar(15) DEFAULT NULL,"+\ "`local_ip` varchar(15) DEFAULT NULL,"+\ "`dtadded` datetime DEFAULT NULL,"+\ "`index` int(11) DEFAULT NULL,"+\ "`dtshutdownscheduled` datetime DEFAULT NULL,"+\ "`dtrebootstart` datetime DEFAULT NULL,"+\ "`replace_server_id` varchar(36) DEFAULT NULL,"+\ "`dtlastsync` datetime DEFAULT NULL,"+\ "PRIMARY KEY (id),"+\ "KEY serverid (server_id),"+\ "KEY farm_roleid (farm_roleid),"+\ "KEY farmid_status (farm_id,status),"+\ "KEY local_ip (local_ip),"+\ "KEY env_id (env_id),"+\ "KEY role_id (role_id),"+\ "KEY client_id (client_id) )"+\ "ENGINE=InnoDB AUTO_INCREMENT=817009 "+\ "DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def insert_dns_zones(step, count, status): db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() try: for i in range(int(count)): while True: index = random.randint(1, 9999) zone_name = 'test.zone%s.bla' % index if db.session.query(db.dns_zones).filter( db.dns_zones.zone_name == zone_name).first() is None: break continue if status == 'Random': status = random.choice( ['Active', 'Pending create', 'Pending update', 'Inactive']) soa_owner = random.choice(['owner.%s' % zone_name, '', None]) soa_serial = random.choice( [date.today().strftime('%Y%m%d'), '', None]) soa_parent = random.choice(['parent.%s' % zone_name, '', None]) isonnsserver = random.randint(0, 1) db.dns_zones.insert(id=index, zone_name=zone_name, soa_parent=soa_parent, env_id=0, status=status, isonnsserver=isonnsserver, soa_owner=soa_owner, soa_serial=soa_serial) if status in ['Pending create', 'Pending update']: if zone_name not in world.dns_zones_files_for_create: world.dns_zones_files_for_create.append(zone_name) if status in ['Pending delete', 'Inactive']: if zone_name not in world.dns_zones_files_for_remove: world.dns_zones_files_for_remove.append(zone_name) if status in ['Pending delete']: world.dns_zones_for_remove.append(zone_name) db.session.commit() finally: db.session.remove() assert True
def create_clients_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `clients` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`name` varchar(255) DEFAULT NULL,"+\ "`status` varchar(50) DEFAULT NULL,"+\ "`isbilled` tinyint(1) DEFAULT '0',"+\ "`dtdue` datetime DEFAULT NULL,"+\ "`isactive` tinyint(1) DEFAULT '0',"+\ "`fullname` varchar(60) DEFAULT NULL,"+\ "`org` varchar(60) DEFAULT NULL,"+\ "`country` varchar(60) DEFAULT NULL,"+\ "`state` varchar(60) DEFAULT NULL,"+\ "`city` varchar(60) DEFAULT NULL,"+\ "`zipcode` varchar(60) DEFAULT NULL,"+\ "`address1` varchar(60) DEFAULT NULL,"+\ "`address2` varchar(60) DEFAULT NULL,"+\ "`phone` varchar(60) DEFAULT NULL,"+\ "`fax` varchar(60) DEFAULT NULL,"+\ "`dtadded` datetime DEFAULT NULL,"+\ "`iswelcomemailsent` tinyint(1) DEFAULT '0',"+\ "`login_attempts` int(5) DEFAULT '0',"+\ "`dtlastloginattempt` datetime DEFAULT NULL,"+\ "`comments` text,"+\ "`priority` int(4) NOT NULL DEFAULT '0',"+\ "PRIMARY KEY (`id`)) "+\ "ENGINE=InnoDB AUTO_INCREMENT=9587 DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def clean(): db_manager = dbmanager.DBManager(config['connections']['mysql']) db = db_manager.get_db() session = db.session try: db_farms = ['%s' % int(farm.id) for farm in session.query(db.farms.id).all()] except (db_exc.OperationalError, db_exc.InternalError): logger.critical(sys.exc_info()) return for dir_ in os.listdir(config['rrd_db_dir']): for farm in os.listdir('%s/%s' % (config['rrd_db_dir'], dir_)): if farm not in db_farms: logger.debug('Delete farm %s' % farm ) if not config['test']: shutil.rmtree('%s/%s/%s' % (config['rrd_db_dir'], dir_, farm), ignore_errors=True)
def create_messages_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `messages` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`messageid` varchar(75) DEFAULT NULL,"+\ "`instance_id` varchar(15) DEFAULT NULL,"+\ "`status` tinyint(1) DEFAULT '0',"+\ "`handle_attempts` int(2) DEFAULT '1',"+\ "`dtlasthandleattempt` datetime DEFAULT NULL,"+\ "`lock_time` datetime DEFAULT NULL,"+\ "`message` longtext,"+\ "`server_id` varchar(36) DEFAULT NULL,"+\ "`type` enum('in','out') DEFAULT NULL,"+\ "`isszr` tinyint(1) DEFAULT '0',"+\ "`message_name` varchar(30) DEFAULT NULL,"+\ "`message_version` int(2) DEFAULT NULL,"+\ "PRIMARY KEY (id),"+\ "UNIQUE KEY server_message (messageid(36),server_id),"+\ "KEY server_id (server_id),"+\ "KEY serverid_isszr (server_id,isszr),"+\ "KEY messageid (messageid),"+\ "KEY status (status,type),"+\ "KEY message_name (message_name),"+\ "KEY dt (dtlasthandleattempt)) "+\ "ENGINE=MyISAM AUTO_INCREMENT=42920410 "+\ "DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def create_farm_roles_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `farm_roles` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`farmid` int(11) DEFAULT NULL,"+\ "`dtlastsync` datetime DEFAULT NULL,"+\ "`reboot_timeout` int(10) DEFAULT '300',"+\ "`launch_timeout` int(10) DEFAULT '300',"+\ "`status_timeout` int(10) DEFAULT '20',"+\ "`launch_index` int(5) DEFAULT '0',"+\ "`role_id` int(11) DEFAULT NULL,"+\ "`new_role_id` int(11) DEFAULT NULL,"+\ "`platform` varchar(20) DEFAULT NULL,"+\ "`cloud_location` varchar(50) DEFAULT NULL,"+\ "PRIMARY KEY (`id`),"+\ "KEY `role_id` (`role_id`),"+\ "KEY `farmid` (`farmid`),"+\ "KEY `platform` (`platform`)"+\ #"CONSTRAINT `farm_roles_ibfk_1` FOREIGN KEY (`farmid`) "+\ #"REFERENCES `farms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION"+\ ")"+\ "ENGINE=InnoDB AUTO_INCREMENT=43156 DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() print sys.exc_info() print sys.exc_info() print sys.exc_info() print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def create_farms_table(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') try: db.session.connection().execute("CREATE TABLE `farms` ("+\ "`id` int(11) NOT NULL AUTO_INCREMENT,"+\ "`clientid` int(11) DEFAULT NULL,"+\ "`env_id` int(11) NOT NULL,"+\ "`name` varchar(255) DEFAULT NULL,"+\ "`iscompleted` tinyint(1) DEFAULT '0',"+\ "`hash` varchar(25) DEFAULT NULL,"+\ "`dtadded` datetime DEFAULT NULL,"+\ "`status` tinyint(1) DEFAULT '1',"+\ "`dtlaunched` datetime DEFAULT NULL,"+\ "`term_on_sync_fail` tinyint(1) DEFAULT '1',"+\ "`region` varchar(255) DEFAULT 'us-east-1',"+\ "`farm_roles_launch_order` tinyint(1) DEFAULT '0',"+\ "`comments` text,"+\ "`created_by_id` int(11) DEFAULT NULL,"+\ "`created_by_email` varchar(250) DEFAULT NULL,"+\ "PRIMARY KEY (`id`),"+\ "KEY `clientid` (`clientid`),"+\ "KEY `env_id` (`env_id`)"+\ #"CONSTRAINT `farms_ibfk_1` FOREIGN KEY (`clientid`) "+\ #"REFERENCES `clients` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION"+\ ") "+\ "ENGINE=InnoDB AUTO_INCREMENT=12552 DEFAULT CHARSET=latin1") db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: print sys.exc_info() if e.orig[0] == 1050: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() ret = False return ret
def drop_db(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection().execute('commit') db.session.connection().execute('drop database %s' % config['name']) db.session.connection().execute('commit') db.session.connection().close() ret = True except sql_exc.InternalError as e: if e.orig[0] == 1049: ret = True else: print sys.exc_info() ret = False except Exception: print sys.exc_info() print sys.exc_info() print sys.exc_info() ret = False return ret
def create_db(config): try: db_manager = dbmanager.DBManager(config) db = db_manager.get_db() db.session.connection() db.session.close() ret = True except Exception: try: db_engine = sqlalchemy.create_engine( '%s://%s:%s@%s' % (config['driver'], config['user'], config['pass'], config['host'])) conn = db_engine.connect() conn.execute('commit') conn.execute('create database %s' % config['name']) conn.execute('commit') conn.close() ret = True except Exception: print sys.exc_info() ret = False return ret
def fill_tables(step, count, st, tp): db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() try: for i in range(int(count)): while True: msg_id = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(75)) if db.messages.filter( db.messages.messageid == msg_id).first() is None: break continue while True: farm_id = random.randint(1, 9999) if db.farm_settings.filter( db.farm_settings.farmid == farm_id).first() is None: break continue while True: srv_id = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(36)) if db.servers.filter( db.servers.server_id == srv_id).first() is None: break continue while True: event_id = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(36)) if db.events.filter( db.events.event_id == event_id).first() is None: break continue db.messages.insert(messageid=msg_id, status=int(st), handle_attempts=0, dtlasthandleattempt=func.now(), message='some text here', server_id=srv_id, type='%s' % tp, message_version=2, message_name=random.choice(['ExecScript', '']), message_format=random.choice(['xml', 'json']), event_id=event_id) world.msgs_id.setdefault(msg_id, {}).setdefault('status', st) db.servers.insert(farm_id=farm_id, server_id=srv_id, env_id=1, status='Running', remote_ip='127.0.0.1') db.events.insert(event_id=event_id, msg_sent=0) world.srvs_id.append(srv_id) db.server_properties.insert(server_id=srv_id, name='scalarizr.key', value='hoho') db.server_properties.insert(server_id=srv_id, name='scalarizr.ctrl_port', value=8013) db.commit() finally: db.session.remove() lib.wait_sec(1) assert True
def fill_tables_vpc(step, count, st, tp): db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() try: for i in range(int(count)): while True: msg_id = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(75)) if db.messages.filter( db.messages.messageid == msg_id).first() is None: break continue while True: msg_id_router = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(75)) if db.messages.filter(db.messages.messageid == msg_id_router).first() is None: break continue while True: farm_id = random.randint(1, 20000) if db.farm_settings.filter( db.farm_settings.farmid == farm_id).first() is None: break continue while True: farm_role_id = random.randint(1, 20000) if db.role_behaviors.filter(db.role_behaviors.role_id == farm_role_id).first() is None: break continue while True: farm_role_id_router = random.randint(1, 20000) if db.role_behaviors.filter( db.role_behaviors.role_id == farm_role_id_router).first() is None: break continue while True: srv_id = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(36)) if db.servers.filter( db.servers.server_id == srv_id).first() is None: break continue while True: srv_id_router = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(36)) if db.servers.filter( db.servers.server_id == srv_id_router).first() is None: break continue while True: event_id = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(36)) if db.events.filter( db.events.event_id == event_id).first() is None: break continue db.messages.insert(messageid=msg_id, status=int(st), handle_attempts=0, dtlasthandleattempt=func.now(), message='some text here', server_id=srv_id, type='%s' % tp, message_version=2, message_format=random.choice(['xml', 'json']), event_id=event_id) db.messages.insert(messageid=msg_id_router, status=int(st), handle_attempts=0, dtlasthandleattempt=func.now(), message='some text here', server_id=srv_id_router, type='%s' % tp, message_version=2, message_format=random.choice(['xml', 'json'])) db.farms.insert(farm_id=farm_id, env_id=1) db.events.insert(event_id=event_id, msg_sent=0) db.farm_roles.insert(farmid=farm_id, role_id=farm_role_id) db.farm_roles.insert(farmid=farm_id, role_id=farm_role_id_router) db.servers.insert(farm_id=farm_id, farm_roleid=farm_role_id, server_id=srv_id, env_id=1, status='Running', local_ip='244.244.244.244') db.servers.insert(farm_id=farm_id, farm_roleid=farm_role_id_router, server_id=srv_id_router, env_id=1, status='Running', local_ip='254.254.254.254') db.role_behaviors.insert(role_id=farm_role_id, behavior='not router') db.role_behaviors.insert(role_id=farm_role_id_router, behavior='router') db.farm_settings.insert(farmid=farm_id, name='ec2.vpc.id', value='1') id_ = db.farm_roles.filter( db.farm_roles.role_id == farm_role_id_router, db.farm_roles.farmid == farm_id).first().id db.farm_role_settings.insert(farm_roleid=id_, name='router.vpc.ip', value='127.0.0.1') world.srvs_id.append(srv_id) world.srvs_id.append(srv_id_router) db.server_properties.insert(server_id=srv_id, name='scalarizr.key', value='hoho') db.server_properties.insert(server_id=srv_id, name='scalarizr.ctrl_port', value='8013') db.server_properties.insert(server_id=srv_id_router, name='scalarizr.key', value='hoho') db.server_properties.insert(server_id=srv_id_router, name='scalarizr.ctrl_port', value='8013') db.commit() finally: db.session.remove() lib.wait_sec(1) assert True
def test_get_db(self): db_manager = dbmanager.DBManager(self.config) assert db_manager.get_db() is not None db_manager.db = None assert db_manager.get_db() is not None
def fill_tables1(step, count, st, tp): try: world.msgs_id = {} world.srvs_id = [] db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() for i in range(int(count)): while True: msg_id = ''.join(random.choice(string.ascii_uppercase +\ string.digits) for x in range(75)) if db.messages.filter( db.messages.messageid == msg_id).first() is None: break continue while True: farm_id = random.randint(1, 9999) if db.farm_settings.filter( db.farm_settings.farmid == farm_id).first() is None: break continue while True: srv_id = ''.join(random.choice(string.ascii_uppercase +\ string.digits) for x in range(36)) if db.servers.filter( db.servers.server_id == srv_id).first() is None: break continue db.messages.insert(messageid=msg_id, status=int(st), handle_attempts=0, dtlasthandleattempt=func.now(), message='some text here', server_id=srv_id, type='%s' % tp, message_version=2) world.msgs_id.setdefault(msg_id, {}).setdefault('status', st) db.servers.insert(farm_id=farm_id, server_id=srv_id, env_id=1, status='Running', remote_ip='127.0.0.1') world.srvs_id.append(srv_id) db.commit() for srv_id in world.srvs_id: db.server_properties.insert(server_id=srv_id, name='scalarizr.key', value='hoho') db.server_properties.insert(server_id=srv_id, name='scalarizr.ctrl_port', value=None) db.commit() db.session.close() assert True except Exception: assert False
def __init__(self): super(StatsPoller, self).__init__(pid_file=CONFIG['pid_file']) self._db_manager = dbmanager.DBManager(CONFIG['connections']['mysql'], autoflush=False)
def fill_tables2(step, count, st, tp): try: world.msgs_id = {} world.srvs_id = [] db_manager = dbmanager.DBManager(world.config['connections']['mysql']) db = db_manager.get_db() for i in range(int(count)): while True: msg_id = ''.join(random.choice(string.ascii_uppercase +\ string.digits) for x in range(75)) if db.messages.filter( db.messages.messageid == msg_id).first() is None: break continue while True: msg_id_router = ''.join(random.choice(string.ascii_uppercase +\ string.digits) for x in range(75)) if db.messages.filter(db.messages.messageid == msg_id_router).first() is None: break continue while True: farm_id = random.randint(1, 20000) if db.farm_settings.filter( db.farm_settings.farmid == farm_id).first() is None: break continue while True: farm_role_id = random.randint(1, 20000) if db.role_behaviors.filter(db.role_behaviors.role_id == farm_role_id).first() is None: break continue while True: farm_role_id_router = random.randint(1, 20000) if db.role_behaviors.filter( db.role_behaviors.role_id == farm_role_id_router).first() is None: break continue while True: srv_id = ''.join(random.choice(string.ascii_uppercase +\ string.digits) for x in range(36)) if db.servers.filter( db.servers.server_id == srv_id).first() is None: break continue while True: srv_id_router = ''.join(random.choice(string.ascii_uppercase +\ string.digits) for x in range(36)) if db.servers.filter( db.servers.server_id == srv_id_router).first() is None: break continue db.messages.insert(messageid=msg_id, status=int(st), handle_attempts=0, dtlasthandleattempt=func.now(), message='some text here', server_id=srv_id, type='%s' % tp, message_version=2) db.messages.insert(messageid=msg_id_router, status=int(st), handle_attempts=0, dtlasthandleattempt=func.now(), message='some text here', server_id=srv_id_router, type='%s' % tp, message_version=2) db.farms.insert(farm_id=farm_id, env_id=1) db.farm_roles.insert(farmid=farm_id, role_id=farm_role_id) db.farm_roles.insert(farmid=farm_id, role_id=farm_role_id_router) db.servers.insert(farm_id=farm_id, farm_roleid=farm_role_id, server_id=srv_id, env_id=1, status='Running', local_ip='244.244.244.244') db.servers.insert(farm_id=farm_id, farm_roleid=farm_role_id_router, server_id=srv_id_router, env_id=1, status='Running', local_ip='254.254.254.254') db.role_behaviors.insert(role_id=farm_role_id, behavior='not router') db.role_behaviors.insert(role_id=farm_role_id_router, behavior='router') db.farm_settings.insert(farmid=farm_id, name='ec2.vpc.id', value='1') id_ = db.farm_roles.filter( db.farm_roles.role_id == farm_role_id_router, db.farm_roles.farmid == farm_id).first().id db.farm_role_settings.insert(farm_roleid=id_, name='router.vpc.ip', value='127.0.0.1') world.srvs_id.append(srv_id) world.srvs_id.append(srv_id_router) db.commit() for srv_id in world.srvs_id: db.server_properties.insert(server_id=srv_id, name='scalarizr.key', value='hoho') db.server_properties.insert(server_id=srv_id, name='scalarizr.ctrl_port', value='8013') db.commit() db.session.close() assert True except Exception: print sys.exc_info() assert False