From 30e08aa41dc742348bfdf1503a49861f8947e0be Mon Sep 17 00:00:00 2001 From: noaOrMlnx <58519608+noaOrMlnx@users.noreply.github.com> Date: Tue, 7 Jan 2025 01:00:02 +0200 Subject: [PATCH] Delete TRSNCEIVER tables while config reload (#3680) * Delete TRANSCEIVER tables while config reload --- config/main.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/main.py b/config/main.py index af0387289d..55f51b6755 100644 --- a/config/main.py +++ b/config/main.py @@ -1322,6 +1322,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' @@ -1905,6 +1917,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: @@ -2037,6 +2050,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