Ejemplo n.º 1
0
    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."
            )
Ejemplo n.º 2
0
    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]
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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()
Ejemplo n.º 5
0
 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])
Ejemplo n.º 6
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)
Ejemplo n.º 7
0
    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()
Ejemplo n.º 8
0
    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)