def main(): connect(host="mongodb://27.78.16.56:8040/iron_man") #connect(host="mongodb://27.78.16.56:8040/ironmanV2")# push stringhelpers.print_welcome() socketConnector = SocketConnector(os.environ.get('SOCKBOT_SERVER'), os.environ.get('SOCKBOT_PORT')) dict_sockbot = socketConnector.connect() '''_mega_manager = MegaManager('MEGA-MANAGEMENT', False) _mega_manager.start()''' '''_flask_manager = FlaskManager('FLASK-MANAGEMENT', False) _flask_manager.start()''' _ironman_manager = IronManager('IRONMAN-MANAGEMENT', False, dict_sockbot['io'], dict_sockbot['iron_namespace']) _ironman_manager.start() heartbeat = HeartBeat(False, dict_sockbot['io']) heartbeat.start() dict_sockbot['io'].on('on_startstop_autobot', on_startstop_autobot) #socket waiting response dict_sockbot['io'].wait()
def __init__(self, adapter, device_id): self.log = structlog.get_logger(device_id=device_id) self.log.debug('function-entry') self.adapter = adapter self.adapter_agent = adapter.adapter_agent self.parent_adapter = None self.parent_id = None self.device_id = device_id self.incoming_messages = DeferredQueue() self.event_messages = DeferredQueue() self.proxy_address = None self.tx_id = 0 self._enabled = False self.alarms = None self.pm_metrics = None self._omcc_version = OMCCVersion.Unknown self._total_tcont_count = 0 # From ANI-G ME self._qos_flexibility = 0 # From ONT2_G ME self._onu_indication = None self._unis = dict() # Port # -> UniPort self._pon = None # TODO: probably shouldnt be hardcoded, determine from olt maybe? self._pon_port_number = 100 self.logical_device_id = None self._heartbeat = HeartBeat.create(self, device_id) # Set up OpenOMCI environment self._onu_omci_device = None self._dev_info_loaded = False self._deferred = None self._in_sync_subscription = None self._connectivity_subscription = None self._capabilities_subscription = None self.mac_bridge_service_profile_entity_id = 0x201 self.gal_enet_profile_entity_id = 0x1 self._tp_service_specific_task = dict() self._tech_profile_download_done = dict() # Initialize KV store client self.args = registry('main').get_args() if self.args.backend == 'etcd': host, port = self.args.etcd.split(':', 1) self.kv_client = EtcdStore( host, port, TechProfile.KV_STORE_TECH_PROFILE_PATH_PREFIX) elif self.args.backend == 'consul': host, port = self.args.consul.split(':', 1) self.kv_client = ConsulStore( host, port, TechProfile.KV_STORE_TECH_PROFILE_PATH_PREFIX) else: self.log.error('Invalid-backend') raise Exception("Invalid-backend-for-kv-store") # Handle received ONU event messages reactor.callLater(0, self.handle_onu_events)
def __init__(self, adapter, device_id): kwargs = dict() super(AdtranOnuHandler, self).__init__(**kwargs) self.adapter = adapter self.adapter_agent = adapter.adapter_agent self.device_id = device_id self.log = structlog.get_logger(device_id=device_id) self.logical_device_id = None self.proxy_address = None self._enabled = False self.pm_metrics = None self.alarms = None self._mgmt_gemport_aes = False self._upstream_channel_speed = 0 self._openomci = OMCI(self, adapter.omci_agent) self._in_sync_subscription = None self._onu_port_number = 0 self._pon_port_number = 1 self._port_number_pool = IndexPool(_MAXIMUM_PORT, 0) self._unis = dict() # Port # -> UniPort self._pon = PonPort.create(self, self._pon_port_number) self._heartbeat = HeartBeat.create(self, device_id) self._deferred = None # Flow entries self._flows = dict() # OMCI resources # TODO: Some of these could be dynamically chosen self.vlan_tcis_1 = 0x900 self.mac_bridge_service_profile_entity_id = self.vlan_tcis_1 self.gal_enet_profile_entity_id = 0 # Was 0x100, but ONU seems to overwrite and use zero
def __init__(self, adapter, device_id): kwargs = dict() super(AdtranOnuHandler, self).__init__(**kwargs) self.adapter = adapter self.adapter_agent = adapter.adapter_agent self.device_id = device_id self.log = structlog.get_logger(device_id=device_id) self.logical_device_id = None self.proxy_address = None self._event_messages = None self._enabled = False self.pm_metrics = None self.alarms = None self._mgmt_gemport_aes = False self._upstream_channel_speed = 0 self._unis = dict() # Port # -> UniPort self._pons = dict() # Port # -> PonPort self._heartbeat = HeartBeat.create(self, device_id) self._deferred = None self._event_deferred = None self._omci = None self._port_number_pool = IndexPool(_MAXIMUM_PORT, 1) self._olt_created = False # True if deprecated method of OLT creating DA is used self._is_mock = False
def __init__(self, adapter, device_id): kwargs = dict() super(AdtranOnuHandler, self).__init__(**kwargs) self.adapter = adapter self.adapter_agent = adapter.adapter_agent self.device_id = device_id self.log = structlog.get_logger(device_id=device_id) self.logical_device_id = None self.proxy_address = None self._event_messages = None self._enabled = False self.pm_metrics = None self.alarms = None self._mgmt_gemport_aes = False self._upstream_channel_speed = 0 self._unis = dict() # Port # -> UniPort self._pon = None self._heartbeat = HeartBeat.create(self, device_id) self._deferred = None self._event_deferred = None # TODO: Remove next two lines if/when OpenOMCI is in the core or a container # in order to support multiple ONUs per instance self._omci_agent = OpenOMCIAgent(self.adapter_agent.core) self._omci_agent.start() self._port_number_pool = IndexPool(_MAXIMUM_PORT, 1) self._olt_created = False # True if deprecated method of OLT creating DA is used self._is_mock = False
class taskManager: def __init__(self): args = parse_process_args() self.heartbeat = HeartBeat(process_id=getpid()) self.heartbeat.daemon = True atexit.register(self.handle_shutdown) self.flow_manager = FlowManager(cache_prefix=args.execution_group_id, pid=getpid()) self.executor = ExecutionWorker(args.model_path, args.video_path, args.model_config_path, args.code_path) self.merger = Merger(args.video_path, args.model_config_path, args.video_token) self.action_map = { 'merge': self.merger.execute, 'execute': self.executor.execute } def handle_shutdown(self): self.heartbeat.gracefull_shutdown = True logger.info('[TASKMANAGER] Process shutdown successfully') def start(self): self.heartbeat.start() while True: try: job_meta, job_key = self.flow_manager.get_new_job() self.heartbeat.curr_job_id = job_key.decode('utf-8') except Exception as e: logger.exception(f'[TASKMANAGER] job key is malformed : {e}') self.flow_manager.reject_job(job_key) continue self.heartbeat.set_busy() action = self.action_map.get(job_meta['action']) if action: try: action(job_meta) except Exception as e: logger.exception( f'[TASKMANAGER] failed to execute action on job {job_meta.get("jid")} | {e}' ) self.flow_manager.reject_job(job_key) else: logger.warning( f'[TASKMANAGER] action {job_meta.get("action")} not defined | ignoring job' ) self.heartbeat.set_free() self.heartbeat.join()
def __init__(self): args = parse_process_args() self.heartbeat = HeartBeat(process_id=getpid()) self.heartbeat.daemon = True atexit.register(self.handle_shutdown) self.flow_manager = FlowManager(cache_prefix=args.execution_group_id, pid=getpid()) self.executor = ExecutionWorker(args.model_path, args.video_path, args.model_config_path, args.code_path) self.merger = Merger(args.video_path, args.model_config_path, args.video_token) self.action_map = { 'merge': self.merger.execute, 'execute': self.executor.execute }
def __init__(self, adapter, device_id): kwargs = dict() super(AdtranOnuHandler, self).__init__(**kwargs) self.adapter = adapter self.adapter_agent = adapter.adapter_agent self.device_id = device_id self.log = structlog.get_logger(device_id=device_id) self.logical_device_id = None self.proxy_address = None self._enabled = False self.pm_metrics = None self.alarms = None self._openomci = OMCI(self, adapter.omci_agent) self._in_sync_subscription = None self._pon_port_number = 1 self._unis = dict() # Port # -> UniPort self._pon = PonPort.create(self, self._pon_port_number) self._heartbeat = HeartBeat.create(self, device_id) self._deferred = None # Flow entries self._flows = dict() # OMCI resources # TODO: Some of these could be dynamically chosen self.vlan_tcis_1 = 0x900 self.mac_bridge_service_profile_entity_id = self.vlan_tcis_1 self.gal_enet_profile_entity_id = 0 # Technology profile related values self.incoming_messages = DeferredQueue() self.event_messages = DeferredQueue() self._tp_service_specific_task = dict() self._tech_profile_download_done = dict() # Initialize KV store client self.args = registry('main').get_args() if self.args.backend == 'etcd': host, port = self.args.etcd.split(':', 1) self.kv_client = EtcdStore(host, port, TechProfile.KV_STORE_TECH_PROFILE_PATH_PREFIX) elif self.args.backend == 'consul': host, port = self.args.consul.split(':', 1) self.kv_client = ConsulStore(host, port, TechProfile.KV_STORE_TECH_PROFILE_PATH_PREFIX) else: self.log.error('Invalid-backend') raise Exception("Invalid-backend-for-kv-store") # Handle received ONU event messages reactor.callLater(0, self.handle_onu_events)
def __init__(self, adapter, device_id): self.log = structlog.get_logger(device_id=device_id) self.log.debug('function-entry') self.adapter = adapter self.adapter_agent = adapter.adapter_agent self.parent_adapter = None self.parent_id = None self.device_id = device_id self.incoming_messages = DeferredQueue() self.event_messages = DeferredQueue() self.proxy_address = None self.tx_id = 0 self._enabled = False self.alarms = None self.pm_metrics = None self._omcc_version = OMCCVersion.Unknown self._total_tcont_count = 0 # From ANI-G ME self._qos_flexibility = 0 # From ONT2_G ME self._onu_indication = None self._unis = dict() # Port # -> UniPort self._port_number_pool = IndexPool(_MAXIMUM_PORT, 0) self._pon = None #TODO: probably shouldnt be hardcoded, determine from olt maybe? self._pon_port_number = 100 self.logical_device_id = None self._heartbeat = HeartBeat.create(self, device_id) # Set up OpenOMCI environment self._onu_omci_device = None self._dev_info_loaded = False self._deferred = None self._in_sync_subscription = None self._connectivity_subscription = None self._capabilities_subscription = None
import threading from threading import Thread from globals import Globals from device_info import DeviceInfo import json from heartbeat import HeartBeat import time from event import Event if __name__ == '__main__': Globals() device = DeviceInfo( device_id='10', device_name='workstation 10', notes='I don not have any notes!') print(device.toJSON()) while(True): hb = HeartBeat('10',device) thread = hb.run_in_background() thread.join() print(hb.toJSON()) time.sleep(10)