def __init__(self, self_address, home_dir='/tmp/', certfile=None, is_init_node=False, node_name='unknown'): Operator.__init__(self, self_address, home_dir, certfile, is_init_node, node_name) self.status = DS_INITIALIZE self.ranges_table = HashRangesTable() if is_init_node: self.ranges_table.append(MIN_HASH, MAX_HASH, self.self_address) self.save_path = os.path.join(home_dir, 'dht_range') if not os.path.exists(self.save_path): os.mkdir(self.save_path) self.__dht_range = FSHashRanges.discovery_range(self.save_path) self.__split_requests_cache = [] self.__start_dht_try_count = 0 self.__init_dht_thread = None if is_init_node: self.status = DS_NORMALWORK self.__check_hash_table_thread = CheckLocalHashTableThread(self) self.__check_hash_table_thread.setName('%s-CheckLocalHashTableThread'%self.node_name) self.__check_hash_table_thread.start() self.__monitor_dht_ranges = MonitorDHTRanges(self) self.__monitor_dht_ranges.setName('%s-MonitorDHTRanges'%self.node_name) self.__monitor_dht_ranges.start()
def __init__(self, self_address, home_dir='/tmp/', key_storage=None, is_init_node=False, node_name='unknown', config={}): cur_cfg = {} cur_cfg.update(DEFAULT_MONITOR_CONFIG) cur_cfg.update(config) Operator.__init__(self, self_address, home_dir, key_storage, is_init_node, node_name, cur_cfg) self.__db_conn_str = None self.__db_api = None self.check_database() if key_storage: cert = key_storage.get_node_cert() ckey = key_storage.get_node_cert_key() else: cert = ckey = None client = FriClient(bool(cert), cert, ckey) self.__collect_up_nodes_stat_thread = CollectNodeStatisticsThread(self, client, UP) self.__collect_up_nodes_stat_thread.setName('%s-UP-CollectNodeStatisticsThread'%self.node_name) self.__collect_up_nodes_stat_thread.start() self.__collect_dn_nodes_stat_thread = CollectNodeStatisticsThread(self, client, DOWN) self.__collect_dn_nodes_stat_thread.setName('%s-DN-CollectNodeStatisticsThread'%self.node_name) self.__collect_dn_nodes_stat_thread.start() self.__discovery_topology_thrd = DiscoverTopologyThread(self) self.__discovery_topology_thrd.setName('%s-DiscoverTopologyThread'%self.node_name) self.__discovery_topology_thrd.start()
def __init__(self, self_address, home_dir='/tmp/', key_storage=None, \ is_init_node=False, node_name='unknown', config={}): cur_cfg = {} cur_cfg.update(DEFAULT_DHT_CONFIG) cur_cfg.update(config) Operator.__init__(self, self_address, home_dir, key_storage, \ is_init_node, node_name, cur_cfg) self.status = DS_INITIALIZE self.ranges_table = HashRangesTable() self.save_path = os.path.join(home_dir, 'dht_range') if not os.path.exists(self.save_path): os.mkdir(self.save_path) self.__usr_md_cache = MetadataCache() self.__split_requests_cache = [] self.__dht_range = FSMappedDHTRange.discovery_range(self.save_path) self.ranges_table.append(self.__dht_range.get_start(), self.__dht_range.get_end(), self.self_address) self.__start_dht_try_count = 0 self.__init_dht_thread = None self.__check_hash_table_thread = CheckLocalHashTableThread(self) self.__check_hash_table_thread.setName('%s-CheckLocalHashTableThread'%self.node_name) self.__check_hash_table_thread.start() self.__monitor_dht_ranges = MonitorDHTRanges(self) self.__monitor_dht_ranges.setName('%s-MonitorDHTRanges'%self.node_name) self.__monitor_dht_ranges.start() self.status = DS_PREINIT
def __init__(self, self_address, home_dir='/tmp/', key_storage=None, \ is_init_node=False, node_name='unknown', config={}): Operator.__init__(self, self_address, home_dir, key_storage, \ is_init_node, node_name, config)
def __init__(self, self_address, home_dir='/tmp/', key_storage=None, is_init_node=False, node_name='unknown', config={}): cur_cfg = {} cur_cfg.update(DEFAULT_MONITOR_CONFIG) cur_cfg.update(config) Operator.__init__(self, self_address, home_dir, key_storage, is_init_node, node_name, cur_cfg) self.__db_conn_str = None self.__db_api = None self.check_database() client = FriClient(key_storage) db_conn_str = Config.get('db_conn_str') self.__dbm = MgmtDatabaseManager(db_conn_str) ca_host = Config.get('mgmt_ca_host', None) ca_port = int(Config.get('mgmt_ca_port', 8080)) self.mgmt_api = mgmt_api = ManagementEngineAPI(self.__dbm, self_address, init_scheduler=True, \ ca_host=ca_host, ca_port=ca_port) BaseMgmtCLIHandler.mgmtManagementAPI = mgmt_api host = Config.get('mgmt_cli_host', '0.0.0.0') cli_port = int(Config.get('mgmt_cli_port', '23')) logger.info('Starting CLI at %s:%s'%(host, cli_port)) cli_server = TelnetServer((host, cli_port), BaseMgmtCLIHandler) #if key_storage: # cert, key = self.get_ssl_keycert('cli_api') # cli_server.socket = ssl.wrap_socket(cli_server.socket, certfile=cert, keyfile=key, server_side=True) self.__cli_api_thrd = ExternalAPIThread(cli_server, host, cli_port) self.__cli_api_thrd.setName('%s-CLIAPIThread'%self.node_name) self.__cli_api_thrd.start() RESTHandler.setup_mgmt_api(mgmt_api) host = Config.get('mgmt_rest_host', '0.0.0.0') rest_port = int(Config.get('mgmt_rest_port', '8080')) logger.info('Starting REST at %s:%s'%(host, rest_port)) rest_server = BaseHTTPServer.HTTPServer((host, rest_port), RESTHandler) if key_storage: cert, key = self.get_ssl_keycert('rest_api') rest_server.socket = ssl.wrap_socket(rest_server.socket, certfile=cert, keyfile=key, server_side=True) self.__rest_api_thrd = ExternalAPIThread(rest_server, host, rest_port) self.__rest_api_thrd.setName('%s-RESTAPIThread'%self.node_name) self.__rest_api_thrd.start() if not self.__cli_api_thrd.started(): self.__rest_api_thrd.stop() raise Exception('CLI API does not started!') if not self.__rest_api_thrd.started(): self.__cli_api_thrd.stop() raise Exception('CLI API does not started!') self.__collect_up_nodes_stat_thread = CollectNodeStatisticsThread(self, client, STATUS_UP) self.__collect_up_nodes_stat_thread.setName('%s-UP-CollectNodeStatisticsThread'%self.node_name) self.__collect_up_nodes_stat_thread.start() self.__collect_dn_nodes_stat_thread = CollectNodeStatisticsThread(self, client, STATUS_DOWN) self.__collect_dn_nodes_stat_thread.setName('%s-DN-CollectNodeStatisticsThread'%self.node_name) self.__collect_dn_nodes_stat_thread.start() self.__discovery_topology_thrd = DiscoverTopologyThread(self) self.__discovery_topology_thrd.setName('%s-DiscoverTopologyThread'%self.node_name) self.__discovery_topology_thrd.start()