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 = '' # 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 dm_logger = DeviceManagerLogger(args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned vnc_amqp = DMAmqpHandle(dm_logger, DeviceManager.REACTION_MAP, args) vnc_amqp.establish() vnc_amqp.close() dm_logger.debug("Removed remained AMQP queue") _zookeeper_client = ZookeeperClient(client_pfx + "device-manager", args.zk_server_ip) dm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/device-manager", os.getpid(), run_device_manager, dm_logger, args)
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 = '' # 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 dm_logger = DeviceManagerLogger(args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned vnc_amqp = DMAmqpHandle(dm_logger, DeviceManager.REACTION_MAP, args) vnc_amqp.establish() vnc_amqp.close() dm_logger.debug("Removed remained AMQP queue") _zookeeper_client = ZookeeperClient(client_pfx+"device-manager", args.zk_server_ip) dm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx+"/device-manager", os.getpid(), run_device_manager, dm_logger, args)
def main(args_str=None): if not args_str: args_str = ' '.join(sys.argv[1:]) args = parse_args(args_str) _disc_service = ZookeeperClient("svc-monitor", args.zk_server_ip) _disc_service.master_election("/svc-monitor", os.getpid(), run_svc_monitor, args)
def main(args_str=None): global _zookeeper_client if not args_str: args_str = " ".join(sys.argv[1:]) args = parse_args(args_str) _zookeeper_client = ZookeeperClient("svc-monitor", args.zk_server_ip) _zookeeper_client.master_election("/svc-monitor", os.getpid(), run_svc_monitor, args)
def main(args_str=None): global _zookeeper_client global transformer 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()) if args.zookeeper_ssl_enable: _zookeeper_client = ZookeeperClient( client_pfx + "schema", args.zk_server_ip, host_ip, zk_timeout=args.zk_timeout, zk_ssl_enable=args.zookeeper_ssl_enable, zk_ssl_keyfile=args.zookeeper_ssl_keyfile, zk_ssl_certificate=args.zookeeper_ssl_certificate, zk_ssl_ca_cert=args.zookeeper_ssl_ca_cert) else: _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...") try: _zookeeper_client.master_election(zk_path_pfx + "/schema-transformer", os.getpid(), run_schema_transformer, st_logger, args) finally: if transformer: transformer.destroy_instance()
def main(args_str=None, kube_api_skip=False, event_queue=None, vnc_kubernetes_config_dict=None): _zookeeper_client = None args = kube_args.parse_args(args_str) client_pfx = '' zk_path_pfx = '' if args.cluster_id: client_pfx += args.cluster_id + '-' zk_path_pfx += args.cluster_id + '/' client_pfx += args.cluster_name + '-' zk_path_pfx += args.cluster_name + '/' # randomize collector list args.random_collectors = args.collectors if args.collectors: args.random_collectors = random.sample(args.collectors, len(args.collectors)) km_logger = common_logger.KubeManagerLogger(args, http_server_port=-1) if args.nested_mode == '0': # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned rabbitmq_cfg = kube_args.rabbitmq_args(args) try: vnc_amqp = VncAmqpHandle(km_logger._sandesh, km_logger, config_db.DBBaseKM, reaction_map.REACTION_MAP, client_pfx + 'kube_manager', rabbitmq_cfg, args.host_ip) vnc_amqp.establish() vnc_amqp.close() except Exception: # FIXME: Except clause is too broad pass finally: km_logger.debug("Removed remained AMQP queue") # Ensure zookeeper is up and running before starting kube-manager _zookeeper_client = ZookeeperClient(client_pfx + "kube-manager", args.zk_server_ip, args.host_ip) km_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "kube-manager", os.getpid(), run_kube_manager, km_logger, args, kube_api_skip, event_queue, vnc_kubernetes_config_dict) else: # nested mode, skip zookeeper mastership check run_kube_manager(km_logger, args, kube_api_skip, event_queue, vnc_kubernetes_config_dict)
def main(args_str=None): global _amqp_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 = '' # randomize collector list args.random_collectors = args.collectors if args.collectors: args.random_collectors = random.sample(args.collectors, len(args.collectors)) args.log_level = str(args.log_level) if 'host_ip' not in args: args.host_ip = socket.gethostbyname(socket.getfqdn()) gevent.signal(signal.SIGHUP, sighup_handler) gevent.signal(signal.SIGTERM, sigterm_handler) gevent.signal(signal.SIGINT, sigterm_handler) if args.dm_run_mode == 'Full': dm_logger = DeviceManagerLogger(args, http_server_port=-1) run_job_ztp_manager(dm_logger, args) dm_logger.notice("Process %s prepared to run in Full mode..." % os.getpid()) run_device_manager(dm_logger, args) elif args.dm_run_mode == 'Partial': dm_logger = DeviceManagerLogger(args, http_server_port=-1) dm_logger.notice("Process %s prepared to run in Partial mode..." % os.getpid()) run_job_ztp_manager(dm_logger, args) else: if args.zookeeper_ssl_enable: _zookeeper_client = ZookeeperClient( client_pfx + "device-manager", args.zk_server_ip, args.host_ip, args.zookeeper_ssl_enable, args.zookeeper_ssl_keyfile, args.zookeeper_ssl_certificate, args.zookeeper_ssl_ca_cert) else: _zookeeper_client = ZookeeperClient(client_pfx + "device-manager", args.zk_server_ip, args.host_ip) pid = os.getpid() run_partial_dm(pid) _zookeeper_client.master_election(zk_path_pfx + "/device-manager", os.getpid(), run_full_dm, pid)
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 = "" _zookeeper_client = ZookeeperClient(client_pfx + "device-manager", args.zk_server_ip) _zookeeper_client.master_election(zk_path_pfx + "/device-manager", os.getpid(), run_device_manager, args)
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 main(args_str=None, kube_api_skip=False, event_queue=None, vnc_kubernetes_config_dict=None): _zookeeper_client = None args = kube_args.parse_args(args_str) if 'kube_timer_interval' not in args: args.kube_timer_interval = '60' 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)) km_logger = logger.KubeManagerLogger(args, http_server_port=-1) if args.nested_mode == '0': # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned rabbitmq_cfg = kube_args.rabbitmq_args(args) try: vnc_amqp = VncAmqpHandle(km_logger._sandesh, km_logger, DBBaseKM, REACTION_MAP, 'kube_manager', rabbitmq_cfg) vnc_amqp.establish() vnc_amqp.close() except Exception: pass finally: km_logger.debug("Removed remained AMQP queue") # Ensure zookeeper is up and running before starting kube-manager _zookeeper_client = ZookeeperClient(client_pfx+"kube-manager", args.zk_server_ip) km_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx+"/kube-manager", os.getpid(), run_kube_manager, km_logger, args, kube_api_skip, event_queue, vnc_kubernetes_config_dict) else: #nested mode, skip zookeeper mastership check run_kube_manager(km_logger, args, kube_api_skip, event_queue, vnc_kubernetes_config_dict)
def main(args_str=None, kube_api_skip=False, event_queue=None): _zookeeper_client = None args = kube_args.parse_args(args_str) if 'kube_timer_interval' not in args: args.kube_timer_interval = '60' 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)) km_logger = logger.KubeManagerLogger(args) if args.nested_mode == '0': # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned rabbitmq_cfg = kube_args.rabbitmq_args(args) try: vnc_amqp = VncAmqpHandle(km_logger._sandesh, km_logger, DBBaseKM, REACTION_MAP, 'kube_manager', rabbitmq_cfg) vnc_amqp.establish() vnc_amqp.close() except Exception: pass finally: km_logger.debug("Removed remained AMQP queue") # Ensure zookeeper is up and running before starting kube-manager _zookeeper_client = ZookeeperClient(client_pfx + "kube-manager", args.zk_server_ip) km_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/kube-manager", os.getpid(), run_kube_manager, km_logger, args, kube_api_skip, event_queue) km_logger.notice("Elected master kube-manager node. Initializing...") else: #nested mode, skip zookeeper mastership check run_kube_manager(km_logger, args, kube_api_skip, event_queue)
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.SVC_MONITOR], **dss_kwargs) # Initialize logger sm_logger = ServiceMonitorLogger(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 = VncAmqpHandle(sm_logger, DBBaseSM, REACTION_MAP, 'svc_monitor', args=args) vnc_amqp.establish() vnc_amqp.close() sm_logger.debug("Removed remained AMQP queue") # Waiting to be elected as master node _zookeeper_client = ZookeeperClient(client_pfx + "svc-monitor", args.zk_server_ip) sm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/svc-monitor", os.getpid(), run_svc_monitor, sm_logger, args)
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.DEVICE_MANAGER], **dss_kwargs) # Initialize logger module = Module.DEVICE_MANAGER module_pkg = "device_manager" dm_logger = ConfigServiceLogger(discovery_client, module, module_pkg, args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned vnc_amqp = DMAmqpHandle(dm_logger, DeviceManager.REACTION_MAP, args) vnc_amqp.establish() vnc_amqp.close() dm_logger.debug("Removed remained AMQP queue") _zookeeper_client = ZookeeperClient(client_pfx + "device-manager", args.zk_server_ip) dm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/device-manager", os.getpid(), run_device_manager, dm_logger, args)
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 = '' _zookeeper_client = ZookeeperClient(client_pfx+"schema", args.zk_server_ip) _zookeeper_client.master_election(zk_path_pfx + "/schema-transformer", os.getpid(), run_schema_transformer, args)
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 = '' _zookeeper_client = ZookeeperClient(client_pfx + "device-manager", args.zk_server_ip) _zookeeper_client.master_election(zk_path_pfx + "/device-manager", os.getpid(), run_device_manager, args)
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 = '' _zookeeper_client = ZookeeperClient(client_pfx + "schema", args.zk_server_ip, zk_timeout=args.zk_timeout) _zookeeper_client.master_election(zk_path_pfx + "/schema-transformer", os.getpid(), run_schema_transformer, args)
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 = '' # 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 sm_logger = ServiceMonitorLogger(args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned try: vnc_amqp = VncAmqpHandle(sm_logger, DBBaseSM, REACTION_MAP, 'svc_monitor', args=args) vnc_amqp.establish() vnc_amqp.close() except Exception: pass finally: sm_logger.debug("Removed remained AMQP queue") # Waiting to be elected as master node _zookeeper_client = ZookeeperClient(client_pfx + "svc-monitor", args.zk_server_ip) sm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/svc-monitor", os.getpid(), run_svc_monitor, sm_logger, args)
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 = '' # 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 sm_logger = ServiceMonitorLogger(args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned rabbitmq_cfg = get_rabbitmq_cfg(args) try: vnc_amqp = VncAmqpHandle(sm_logger._sandesh, sm_logger, DBBaseSM, REACTION_MAP, 'svc_monitor', rabbitmq_cfg, args.trace_file) vnc_amqp.establish() vnc_amqp.close() except Exception: pass finally: sm_logger.debug("Removed remained AMQP queue") # Waiting to be elected as master node _zookeeper_client = ZookeeperClient( client_pfx+"svc-monitor", args.zk_server_ip) sm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx+"/svc-monitor", os.getpid(), run_svc_monitor, sm_logger, args)
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 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 st_logger = SchemaTransformerLogger(args) # 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("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/schema-transformer", os.getpid(), run_schema_transformer, st_logger, args)
def main(args_str=None): global _amqp_client global _zookeeper_client global _object_db 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 = '' # 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 dm_logger = DeviceManagerLogger(args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned vnc_amqp = DMAmqpHandle(dm_logger, {}, args) vnc_amqp.establish() vnc_amqp.close() dm_logger.debug("Removed remaining AMQP queue from previous run") if 'host_ip' in args: host_ip = args.host_ip else: host_ip = socket.gethostbyname(socket.getfqdn()) _amqp_client = initialize_amqp_client(dm_logger, args) _zookeeper_client = ZookeeperClient(client_pfx+"device-manager", args.zk_server_ip, host_ip) _object_db = DMCassandraDB.get_instance(_zookeeper_client, args, dm_logger) try: # Initialize the device job manager DeviceJobManager(_object_db, _amqp_client, _zookeeper_client, args, dm_logger) except Exception as e: dm_logger.error("Error while initializing the device job " "manager %s" % repr(e)) try: # Initialize the device ztp manager DeviceZtpManager(_amqp_client, args, dm_logger) except Exception as e: dm_logger.error("Error while initializing the device ztp " "manager %s" % repr(e)) gevent.signal(signal.SIGHUP, sighup_handler) gevent.signal(signal.SIGTERM, sigterm_handler) gevent.signal(signal.SIGINT, sigterm_handler) dm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx+"/device-manager", os.getpid(), run_device_manager, dm_logger, args)
def main(args_str=None): global _amqp_client 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 = '' # 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 dm_logger = DeviceManagerLogger(args, http_server_port=-1) # Initialize AMQP handler then close it to be sure remain queue of a # precedent run is cleaned vnc_amqp = DMAmqpHandle(dm_logger, {}, args) vnc_amqp.establish() vnc_amqp.close() dm_logger.debug("Removed remaining AMQP queue from previous run") if 'host_ip' not in args: args.host_ip = socket.gethostbyname(socket.getfqdn()) _amqp_client = initialize_amqp_client(dm_logger, args) _zookeeper_client = ZookeeperClient(client_pfx + "device-manager", args.zk_server_ip, args.host_ip) try: # Initialize the device job manager DeviceJobManager(_amqp_client, _zookeeper_client, args, dm_logger) # Allow kombu client to connect consumers gevent.sleep(0.5) except Exception as e: dm_logger.error("Error while initializing the device job " "manager %s" % str(e)) raise e try: # Initialize the device ztp manager DeviceZtpManager(_amqp_client, args, dm_logger) # Allow kombu client to connect consumers gevent.sleep(0.5) except Exception as e: dm_logger.error("Error while initializing the device ztp " "manager %s" % str(e)) raise e gevent.signal(signal.SIGHUP, sighup_handler) gevent.signal(signal.SIGTERM, sigterm_handler) gevent.signal(signal.SIGINT, sigterm_handler) dm_logger.notice("Waiting to be elected as master...") _zookeeper_client.master_election(zk_path_pfx + "/device-manager", os.getpid(), run_device_manager, dm_logger, args)