def __init__(self, args=None): self._args = args self._fabric_rt_inst_obj = None # Initialize discovery client self._disc = None if self._args.disc_server_ip and self._args.disc_server_port: self._disc = client.DiscoveryClient( self._args.disc_server_ip, self._args.disc_server_port, ModuleNames[Module.SCHEMA_TRANSFORMER]) # Initialize logger self.logger = SchemaTransformerLogger(self._disc, args) # Initialize amqp self._vnc_amqp = STAmqpHandle(self.logger, self._REACTION_MAP, self._args) self._vnc_amqp.establish() try: # Initialize cassandra self._object_db = SchemaTransformerDB(self, _zookeeper_client) DBBaseST.init(self, self.logger, self._object_db) DBBaseST._sandesh = self.logger._sandesh DBBaseST._vnc_lib = _vnc_lib ServiceChain.init() self.reinit() self._vnc_amqp._db_resync_done.set() except Exception as e: # If any of the above tasks like CassandraDB read fails, cleanup # the RMQ constructs created earlier and then give up. self._vnc_amqp.close() raise e
def __init__(self, st_logger=None, args=None): self._args = args self._fabric_rt_inst_obj = None if st_logger is not None: self.logger = st_logger else: # Initialize logger self.logger = SchemaTransformerLogger(args) # Initialize amqp self._vnc_amqp = STAmqpHandle(self.logger, self.REACTION_MAP, self._args) self._vnc_amqp.establish() SchemaTransformer._schema_transformer = self try: # Initialize cassandra self._object_db = SchemaTransformerDB(self, _zookeeper_client) DBBaseST.init(self, self.logger, self._object_db) DBBaseST._sandesh = self.logger._sandesh DBBaseST._vnc_lib = _vnc_lib ServiceChain.init() self.reinit() self._vnc_amqp._db_resync_done.set() except Exception as e: # If any of the above tasks like CassandraDB read fails, cleanup # the RMQ constructs created earlier and then give up. SchemaTransformer.destroy_instance() SchemaTransformer._schema_transformer = None raise
def main(args_str=None): global _zookeeper_client if not args_str: args_str = ' '.join(sys.argv[1:]) args = parse_args(args_str) if args.cluster_id: client_pfx = args.cluster_id + '-' zk_path_pfx = args.cluster_id + '/' else: client_pfx = '' zk_path_pfx = '' # Initialize discovery client discovery_client = None if args.disc_server_ip and args.disc_server_port: dss_kwargs = {} if args.disc_server_ssl: if args.disc_server_cert: dss_kwargs.update({'cert': args.disc_server_cert}) if args.disc_server_key: dss_kwargs.update({'key': args.disc_server_key}) if args.disc_server_cacert: dss_kwargs.update({'cacert': args.disc_server_cacert}) discovery_client = client.DiscoveryClient( args.disc_server_ip, args.disc_server_port, ModuleNames[Module.SCHEMA_TRANSFORMER], **dss_kwargs) # Initialize logger st_logger = SchemaTransformerLogger(discovery_client, args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned vnc_amqp = STAmqpHandle(st_logger, SchemaTransformer.REACTION_MAP, args) vnc_amqp.establish() vnc_amqp.close() st_logger.debug("Removed remained AMQP queue") # Waiting to be elected as master node _zookeeper_client = ZookeeperClient(client_pfx + "schema", args.zk_server_ip, zk_timeout=args.zk_timeout) st_logger.notice( "Zookeeper client created ip:{}, name:{}, zk_timeout:{}".format( args.zk_server_ip, client_pfx + "schema", args.zk_timeout)) st_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/schema-transformer", os.getpid(), run_schema_transformer, st_logger, args) st_logger.notice("############## SCHEMA_TRANSFORMER STARTED")
def __init__(self, st_logger=None, args=None): self._args = args self._fabric_rt_inst_obj = None if st_logger is not None: self.logger = st_logger else: # Initialize discovery client discovery_client = None if self._args.disc_server_ip and self._args.disc_server_port: dss_kwargs = {} if self._args.disc_server_ssl: if self._args.disc_server_cert: dss_kwargs.update( {'cert': self._args.disc_server_cert}) if self._args.disc_server_key: dss_kwargs.update({'key': self._args.disc_server_key}) if self._args.disc_server_cacert: dss_kwargs.update( {'cacert': self._args.disc_server_cacert}) discovery_client = client.DiscoveryClient( self._args.disc_server_ip, self._args.disc_server_port, ModuleNames[Module.SCHEMA_TRANSFORMER], **dss_kwargs) # Initialize logger self.logger = SchemaTransformerLogger(discovery_client, args) self.logger.error( "############# STARTING INITIALIZATION OF SCHEMA TRANSFORMER") # Initialize amqp self._vnc_amqp = STAmqpHandle(self.logger, self.REACTION_MAP, self._args) self.logger.error("############# INITIALIZE AMPQ") self._vnc_amqp.establish() try: # Initialize cassandra self.logger.error("############# INITIALIZE CASSANDRA") self._cassandra = SchemaTransformerDB(self, _zookeeper_client) DBBaseST.init(self, self.logger, self._cassandra) DBBaseST._sandesh = self.logger._sandesh DBBaseST._vnc_lib = _vnc_lib ServiceChain.init() self.reinit() self._vnc_amqp._db_resync_done.set() except Exception as e: # If any of the above tasks like CassandraDB read fails, cleanup # the RMQ constructs created earlier and then give up. self._vnc_amqp.close() raise e self.logger.error("############# INITIALIZATION OF AMPQ COMPLETED") self.logger.error( "############# INITIALIZATION OF CASSANDRA COMPLETED")
def main(args_str=None): global _zookeeper_client if not args_str: args_str = ' '.join(sys.argv[1:]) args = parse_args(args_str) args._args_list = args_str if args.cluster_id: client_pfx = args.cluster_id + '-' zk_path_pfx = args.cluster_id + '/' else: client_pfx = '' zk_path_pfx = '' # randomize collector list args.random_collectors = args.collectors if args.collectors: args.random_collectors = random.sample(args.collectors, len(args.collectors)) # Initialize logger without introspect thread st_logger = SchemaTransformerLogger(args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned vnc_amqp = STAmqpHandle(st_logger, SchemaTransformer.REACTION_MAP, args) vnc_amqp.establish() vnc_amqp.close() st_logger.debug("Removed remained AMQP queue") # Waiting to be elected as master node if 'host_ip' in args: host_ip = args.host_ip else: host_ip = socket.gethostbyname(socket.getfqdn()) _zookeeper_client = ZookeeperClient(client_pfx + "schema", args.zk_server_ip, host_ip, zk_timeout=args.zk_timeout) st_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/schema-transformer", os.getpid(), run_schema_transformer, st_logger, args)
def __init__(self, st_logger=None, args=None): self._args = args self._fabric_rt_inst_obj = None self.timer_obj = self.STtimer( self._args.zk_timeout, self._args.yield_in_evaluate, print_stats=False) # print_stats: True for debugging if st_logger is not None: self.logger = st_logger else: # Initialize logger self.logger = SchemaTransformerLogger(args) # Initialize amqp self._vnc_amqp = STAmqpHandle(self.logger, self.REACTION_MAP, self._args, timer_obj=self.timer_obj) self._vnc_amqp.establish() SchemaTransformer._schema_transformer = self try: # Initialize cassandra self._object_db = SchemaTransformerDB(self, _zookeeper_client) ResourceBaseST.init(self, self.logger, self._object_db) ResourceBaseST._sandesh = self.logger._sandesh ResourceBaseST._vnc_lib = _vnc_lib ServiceChain.init() self.reinit() self._vnc_amqp._db_resync_done.set() except Exception as e: self._vnc_amqp._db_resync_done.set() # If any of the above tasks like CassandraDB read fails, cleanup # the RMQ constructs created earlier and then give up. SchemaTransformer.destroy_instance() SchemaTransformer._schema_transformer = None raise