def __init__(self): """ init the updater """ super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.lag_name_if_name_map = {} self.if_name_lag_name_map = {} self.oid_lag_name_map = {} self.queue_type_map = {} self.if_name_map = {} self.if_alias_map = {} self.if_id_map = {} self.oid_sai_map = {} self.oid_name_map = {} self.port_queues_map = {} self.queue_stat_map = {} self.port_queue_list_map = {} self.mib_oid_to_queue_map = {} self.mib_oid_list = [] self.queue_type_map = {}
def __init__(self): super().__init__() self.statedb = Namespace.init_namespace_dbs() Namespace.connect_all_dbs(self.statedb, mibs.STATE_DB) # List of available sub OIDs. self.physical_entities = [] # Map sub ID to its data. self.physical_classes_map = {} self.physical_description_map = {} self.physical_name_map = {} self.physical_hw_version_map = {} self.physical_serial_number_map = {} self.physical_mfg_name_map = {} self.physical_model_name_map = {} self.physical_contained_in_map = {} self.physical_parent_relative_pos_map = {} self.physical_fru_map = {} # Map physical entity name and oid. According to RFC2737, entPhysicalContainedIn is indicates the value of # entPhysicalIndex for the physical entity which 'contains' this physical entity. However, there is # only parent entity name in database, so need a way to get physical entity oid by name. self.physical_name_to_oid_map = {} # Map physical entity name that need resolve. The key is the entity name, value is a list of Callback objects # that will be called when the entity name is added to self.physical_name_to_oid_map. # It's possible the parent name and parent oid are still not in self.physical_name_to_oid_map when child entity # update cache. In that case, the child entity might not be able to calculate its sub id and cannot update its # cache or do future operation. So this dictionary provides a way to store such operations for future executes. self.pending_resolve_parent_name_map = {} # physical entity updaters self.physical_entity_updaters = self.create_physical_entity_updaters()
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.lag_name_if_name_map = {} self.if_name_lag_name_map = {} self.oid_lag_name_map = {} self.lag_sai_map = {} self.mgmt_oid_name_map = {} self.mgmt_alias_map = {} self.vlan_oid_name_map = {} self.vlan_name_map = {} self.rif_port_map = {} self.port_rif_map = {} # cache of interface counters self.if_counters = {} self.if_range = [] self.if_name_map = {} self.if_alias_map = {} self.if_id_map = {} self.oid_name_map = {} self.rif_counters = {} self.namespace_db_map = Namespace.get_namespace_db_map(self.db_conn)
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.neigh_state_map = {} self.session_status_map = {} self.session_status_list = []
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.arp_dest_map = {} self.arp_dest_list = [] self.arp_dest_map = {} self.arp_dest_list = [] self.neigh_key_list = {}
def __init__(self): super().__init__() self.tos = 0 # ipCidrRouteTos self.db_conn = Namespace.init_namespace_dbs() self.route_dest_map = {} self.route_dest_list = [] ## loopback ip string -> ip address object self.loips = {}
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() # establish connection to application database. Namespace.connect_all_dbs(self.db_conn, mibs.APPL_DB) self.if_range = [] self.oid_name_map = {} self.mgmt_oid_name_map = {} self.pubsub = [None] * len(self.db_conn)
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.if_name_map = {} self.if_alias_map = {} self.if_id_map = {} self.oid_name_map = {} self.vlanmac_ifindex_map = {} self.vlanmac_ifindex_list = [] self.if_bpid_map = {} self.bvid_vlan_map = {}
def test_init_sync_d_lag_tables(self): db_conn = Namespace.init_namespace_dbs() lag_name_if_name_map, \ if_name_lag_name_map, \ oid_lag_name_map = Namespace.get_sync_d_from_all_namespace(mibs.init_sync_d_lag_tables, db_conn) self.assertTrue(b"PortChannel04" in lag_name_if_name_map) self.assertTrue(lag_name_if_name_map[b"PortChannel04"] == [b"Ethernet124"]) self.assertTrue(b"Ethernet124" in if_name_lag_name_map) self.assertTrue(if_name_lag_name_map[b"Ethernet124"] == b"PortChannel04") self.assertTrue(b"PortChannel_Temp" in lag_name_if_name_map) self.assertTrue(lag_name_if_name_map[b"PortChannel_Temp"] == [])
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.if_name_map = {} self.if_alias_map = {} self.if_id_map = {} self.oid_name_map = {} self.mgmt_oid_name_map = {} self.if_range = [] # cache of interface counters # { sai_id -> { 'counter': 'value' } } self.lldp_counters = {}
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.if_name_map = {} self.if_alias_map = {} self.if_id_map = {} self.oid_sai_map = {} self.oid_name_map = {} self.lag_name_if_name_map = {} self.if_name_lag_name_map = {} self.oid_lag_name_map = {} # cache of interface counters self.if_counters = {} self.if_range = []
def reinit_data(self): """ Re-initialize all data. """ # reinit cache self.physical_classes_map = {} self.physical_description_map = {} self.physical_hw_version_map = {} self.physical_serial_number_map = {} self.physical_mfg_name_map = {} self.physical_model_name_map = {} # update interface maps _, self.if_alias_map, _, _, _ = \ Namespace.init_namespace_sync_d_interface_tables(Namespace.init_namespace_dbs()) device_metadata = mibs.get_device_metadata(self.statedb[0]) chassis_sub_id = (self.CHASSIS_ID, ) self.physical_entities = [chassis_sub_id] if not device_metadata or not device_metadata.get( b"chassis_serial_number"): chassis_serial_number = "" else: chassis_serial_number = device_metadata[b"chassis_serial_number"] self.physical_classes_map[chassis_sub_id] = PhysicalClass.CHASSIS self.physical_serial_number_map[chassis_sub_id] = chassis_serial_number # retrieve the initial list of transceivers that are present in the system transceiver_info = Namespace.dbs_keys(self.statedb, mibs.STATE_DB, self.TRANSCEIVER_KEY_PATTERN) if transceiver_info: self.transceiver_entries = [entry.decode() \ for entry in transceiver_info] else: self.transceiver_entries = [] # update cache with initial data for transceiver_entry in self.transceiver_entries: # extract interface name interface = transceiver_entry.split( mibs.TABLE_NAME_SEPARATOR_VBAR)[-1] self._update_transceiver_cache(interface)
def test_init_sync_d_lag_tables(self): db_conn = Namespace.init_namespace_dbs() lag_name_if_name_map, \ if_name_lag_name_map, \ oid_lag_name_map, \ lag_sai_map = Namespace.init_namespace_sync_d_lag_tables(db_conn) self.assertTrue(b"PortChannel04" in lag_name_if_name_map) self.assertTrue( lag_name_if_name_map[b"PortChannel04"] == [b"Ethernet124"]) self.assertTrue(b"Ethernet124" in if_name_lag_name_map) self.assertTrue( if_name_lag_name_map[b"Ethernet124"] == b"PortChannel04") self.assertTrue(b"PortChannel_Temp" in lag_name_if_name_map) self.assertTrue(lag_name_if_name_map[b"PortChannel_Temp"] == []) self.assertTrue(lag_sai_map[b"PortChannel01"] == b"2000000000006")
def test_init_namespace_sync_d_lag_tables(self): dbs = Namespace.init_namespace_dbs() lag_name_if_name_map, \ if_name_lag_name_map, \ oid_lag_name_map, \ lag_sai_map = Namespace.init_namespace_sync_d_lag_tables(dbs) #PortChannel in asic0 Namespace self.assertTrue(b"PortChannel01" in lag_name_if_name_map) self.assertTrue(b"Ethernet-BP0" in lag_name_if_name_map[b"PortChannel01"]) self.assertTrue(b"Ethernet-BP4" in lag_name_if_name_map[b"PortChannel01"]) #PortChannel in asic2 Namespace self.assertTrue(b"PortChannel03" in lag_name_if_name_map) self.assertTrue(b"Ethernet-BP16" in lag_name_if_name_map[b"PortChannel03"]) self.assertTrue(b"Ethernet-BP20" in lag_name_if_name_map[b"PortChannel03"]) self.assertTrue(b"PortChannel_Temp" in lag_name_if_name_map) self.assertTrue(lag_name_if_name_map[b"PortChannel_Temp"] == [])
def __init__(self): super().__init__() self.statedb = Namespace.init_namespace_dbs() Namespace.connect_all_dbs(self.statedb, mibs.STATE_DB) self.if_alias_map = {} # List of available sub OIDs. self.physical_entities = [] # Map sub ID to its data. self.physical_classes_map = {} self.physical_description_map = {} self.physical_hw_version_map = {} self.physical_serial_number_map = {} self.physical_mfg_name_map = {} self.physical_model_name_map = {} self.pubsub = [None] * len(self.statedb)
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() # establish connection to application database. Namespace.connect_all_dbs(self.db_conn, mibs.APPL_DB) self.if_name_map = {} self.if_alias_map = {} self.if_id_map = {} self.oid_name_map = {} self.mgmt_oid_name_map = {} self.mgmt_alias_map = {} self.if_range = [] # cache of port data # { if_name -> { 'key': 'value' } } self.loc_port_data = {} self.pubsub = [None] * len(self.db_conn)
def __init__(self): """ ctor """ super().__init__() self.statedb = Namespace.init_namespace_dbs() Namespace.connect_all_dbs(self.statedb, mibs.STATE_DB) # list of available sub OIDs self.sub_ids = [] # sensor MIB requiered values self.ent_phy_sensor_type_map = {} self.ent_phy_sensor_scale_map = {} self.ent_phy_sensor_precision_map = {} self.ent_phy_sensor_value_map = {} self.ent_phy_sensor_oper_state_map = {} self.transceiver_dom = []
def test_init_namespace_sync_d_lag_tables(self): dbs = Namespace.init_namespace_dbs() lag_name_if_name_map, \ if_name_lag_name_map, \ oid_lag_name_map, _ = Namespace.get_sync_d_from_all_namespace(mibs.init_sync_d_lag_tables, dbs) #PortChannel in asic0 Namespace self.assertTrue("PortChannel01" in lag_name_if_name_map) self.assertTrue( "Ethernet-BP0" in lag_name_if_name_map["PortChannel01"]) self.assertTrue( "Ethernet-BP4" in lag_name_if_name_map["PortChannel01"]) #PortChannel in asic2 Namespace self.assertTrue("PortChannel03" in lag_name_if_name_map) self.assertTrue( "Ethernet-BP16" in lag_name_if_name_map["PortChannel03"]) self.assertTrue( "Ethernet-BP20" in lag_name_if_name_map["PortChannel03"]) self.assertTrue("PortChannel_Temp" in lag_name_if_name_map) self.assertTrue(lag_name_if_name_map["PortChannel_Temp"] == [])
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.lag_name_if_name_map = {} self.if_name_lag_name_map = {} self.oid_lag_name_map = {} self.mgmt_oid_name_map = {} self.mgmt_alias_map = {} self.if_counters = {} self.if_range = [] self.if_name_map = {} self.if_alias_map = {} self.if_id_map = {} self.oid_name_map = {} self.lag_name_if_name_map = {} self.if_name_lag_name_map = {} self.oid_lag_name_map = {} self.namespace_db_map = Namespace.get_namespace_db_map(self.db_conn)
def reinit_data(self): # update interface maps _, self.if_alias_map, _, _ = \ Namespace.get_sync_d_from_all_namespace(mibs.init_sync_d_interface_tables, Namespace.init_namespace_dbs()) PhysicalEntityCacheUpdater.reinit_data(self)
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.loc_chassis_data = {}
def __init__(self): super().__init__() self.db_conn = Namespace.init_namespace_dbs() self.nexthop_map = {} self.route_list = []