From a10fa31f128266335db66e7525f6c9f342654930 Mon Sep 17 00:00:00 2001 From: dprital Date: Thu, 19 Dec 2024 00:58:50 +0200 Subject: [PATCH] [202411_RC.1005] Delete TRSNCEIVER tables while config reload (#3680) --- config/main.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/main.py b/config/main.py index 68d9e24c01..b2e2424015 100644 --- a/config/main.py +++ b/config/main.py @@ -1321,6 +1321,18 @@ def flush_configdb(namespace=DEFAULT_NAMESPACE): return client, config_db +def delete_transceiver_tables(): + tables = ["TRANSCEIVER_INFO", "TRANSCEIVER_STATUS", "TRANSCEIVER_PM", + "TRANSCEIVER_FIRMWARE_INFO", "TRANSCEIVER_DOM_SENSOR", "TRANSCEIVER_DOM_THRESHOLD"] + state_db_del_pattern = "|*" + + # delete TRANSCEIVER tables from State DB + state_db = SonicV2Connector(use_unix_socket_path=True) + state_db.connect(state_db.STATE_DB, False) + for table in tables: + state_db.delete_all_by_pattern(state_db.STATE_DB, table + state_db_del_pattern) + + def migrate_db_to_lastest(namespace=DEFAULT_NAMESPACE): # Migrate DB contents to latest version db_migrator = '/usr/local/bin/db_migrator.py' @@ -1900,6 +1912,7 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, force, file_form cfg_hwsku = output.strip() client, config_db = flush_configdb(namespace) + delete_transceiver_tables() if load_sysinfo: if namespace is DEFAULT_NAMESPACE: @@ -2035,6 +2048,7 @@ def load_minigraph(db, no_service_restart, traffic_shift_away, override_config, #Stop services before config push if not no_service_restart: log.log_notice("'load_minigraph' stopping services...") + delete_transceiver_tables() _stop_services() # For Single Asic platform the namespace list has the empty string