def reinit_data(self): """ Subclass update interface information """ self.if_name_map, \ self.if_alias_map, \ self.if_id_map, \ self.oid_sai_map, \ self.oid_name_map = Namespace.init_namespace_sync_d_interface_tables(self.db_conn) self.mgmt_oid_name_map, \ self.mgmt_alias_map = mibs.init_mgmt_interface_tables(self.db_conn[0]) # merge dataplane and mgmt ports self.oid_name_map.update(self.mgmt_oid_name_map) self.if_alias_map.update(self.mgmt_alias_map) self.if_range = [] # get local port kvs from APP_BD's PORT_TABLE self.loc_port_data = {} for if_oid, if_name in self.oid_name_map.items(): self.update_interface_data(if_name) self.if_range.append((if_oid, )) self.if_range.sort() if not self.loc_port_data: logger.warning( "0 - b'PORT_TABLE' is empty. No local port information could be retrieved." )
def reinit_data(self): """ Subclass update interface information """ self.if_name_map, \ self.if_alias_map, \ self.if_id_map, \ self.oid_sai_map, \ self.oid_name_map = Namespace.init_namespace_sync_d_interface_tables(self.db_conn) self.lag_name_if_name_map, \ self.if_name_lag_name_map, \ self.oid_lag_name_map, _ = Namespace.init_namespace_sync_d_lag_tables(self.db_conn) """ db_conn - will have db_conn to all namespace DBs and global db. First db in the list is global db. Use first global db to get management interface table. """ self.mgmt_oid_name_map, \ self.mgmt_alias_map = mibs.init_mgmt_interface_tables(self.db_conn[0]) self.if_range = sorted( list(self.oid_sai_map.keys()) + list(self.oid_lag_name_map.keys()) + list(self.mgmt_oid_name_map.keys())) self.if_range = [(i, ) for i in self.if_range]
def reinit_data(self): """ Subclass update interface information """ self.if_name_map, \ self.if_alias_map, \ self.if_id_map, \ self.oid_sai_map, \ self.oid_name_map = Namespace.init_namespace_sync_d_interface_tables(self.db_conn) self.update_data()
def reinit_data(self): """ Subclass update interface information """ self.if_name_map, \ self.if_alias_map, \ self.if_id_map, \ self.oid_sai_map, \ self.oid_name_map = Namespace.init_namespace_sync_d_interface_tables(self.db_conn) self.if_bpid_map = Namespace.dbs_get_bridge_port_map(self.db_conn, mibs.ASIC_DB) self.bvid_vlan_map.clear()
def reinit_data(self): """ Subclass update interface information """ self.if_name_map, \ self.if_alias_map, \ self.if_id_map, \ self.oid_sai_map, \ self.oid_name_map = Namespace.init_namespace_sync_d_interface_tables(self.db_conn) """ db_conn - will have db_conn to all namespace DBs and global db. First db in the list is global db. Use first global db to get management interface table. """ self.mgmt_oid_name_map, \ self.mgmt_alias_map = mibs.init_mgmt_interface_tables(self.db_conn[0])
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 reinit_data(self): """ Subclass update interface information """ self.if_name_map, \ self.if_alias_map, \ self.if_id_map, \ self.oid_sai_map, \ self.oid_name_map = Namespace.init_namespace_sync_d_interface_tables(self.db_conn) self.port_queues_map, self.queue_stat_map, self.port_queue_list_map = \ Namespace.init_namespace_sync_d_queue_tables(self.db_conn) self.queue_type_map = Namespace.dbs_get_all(self.db_conn, mibs.COUNTERS_DB, "COUNTERS_QUEUE_TYPE_MAP", blocking=False) self.update_data()
def reinit_data(self): """ Subclass reinit data routine. """ _, _, _, _, self.oid_name_map = Namespace.init_namespace_sync_d_interface_tables( self.db_conn) self.mgmt_oid_name_map, _ = mibs.init_mgmt_interface_tables( self.db_conn[0]) self.oid_name_map.update(self.mgmt_oid_name_map) # establish connection to application database. Namespace.connect_all_dbs(self.db_conn, mibs.APPL_DB) self.if_range = [] self.mgmt_ips = {} for if_oid, if_name in self.oid_name_map.items(): self.update_rem_if_mgmt(if_oid, if_name)