diff --git a/utilities_common/db.py b/utilities_common/db.py index 7842b4dcdd..d736aa1be7 100644 --- a/utilities_common/db.py +++ b/utilities_common/db.py @@ -1,4 +1,4 @@ -from sonic_py_common import multi_asic +from sonic_py_common import multi_asic, device_info from swsscommon.swsscommon import ConfigDBConnector, SonicV2Connector from utilities_common import constants from utilities_common.multi_asic import multi_asic_ns_choices @@ -11,7 +11,17 @@ def __init__(self): self.cfgdb = ConfigDBConnector() self.cfgdb.connect() self.db = SonicV2Connector(host="127.0.0.1") - for db_id in self.db.get_db_list(): + + # Skip connecting to chassis databases in line cards + db_list = list(self.db.get_db_list()) + if not device_info.is_supervisor(): + try: + db_list.remove('CHASSIS_APP_DB') + db_list.remove('CHASSIS_STATE_DB') + except Exception: + pass + + for db_id in db_list: self.db.connect(db_id) self.cfgdb_clients[constants.DEFAULT_NAMESPACE] = self.cfgdb