From cc29dd91abaf1e5813a9466b8b86fca78abd9276 Mon Sep 17 00:00:00 2001 From: Junchao-Mellanox Date: Thu, 21 Mar 2024 10:51:04 +0200 Subject: [PATCH] Add multi ASIC support for syslog rate limit feature --- .../containercfgd/containercfgd.py | 13 ++++++++++--- src/sonic-containercfgd/tests/test_syslog_config.py | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/sonic-containercfgd/containercfgd/containercfgd.py b/src/sonic-containercfgd/containercfgd/containercfgd.py index f604034fc3..4266ffc356 100644 --- a/src/sonic-containercfgd/containercfgd/containercfgd.py +++ b/src/sonic-containercfgd/containercfgd/containercfgd.py @@ -23,6 +23,7 @@ SYSLOG_RATE_LIMIT_BURST = 'rate_limit_burst' # Container name container_name = None +service_name = None def run_command(command): @@ -117,7 +118,7 @@ class SyslogHandler: data (dict): Data of the entry: {: } """ try: - if key != container_name: + if key != service_name: return self.update_syslog_config(data) except Exception as e: @@ -130,8 +131,8 @@ class SyslogHandler: init_data (dict): Initial data when first time connecting to CONFIG DB. {: {: }} """ if SYSLOG_CONFIG_FEATURE_TABLE in init_data: - if container_name in init_data[SYSLOG_CONFIG_FEATURE_TABLE]: - self.update_syslog_config(init_data[SYSLOG_CONFIG_FEATURE_TABLE][container_name]) + if service_name in init_data[SYSLOG_CONFIG_FEATURE_TABLE]: + self.update_syslog_config(init_data[SYSLOG_CONFIG_FEATURE_TABLE][service_name]) def update_syslog_config(self, data): """Parse existing syslog conf and apply new syslog conf. @@ -185,7 +186,13 @@ class SyslogHandler: def main(): global container_name + global service_name + namespace_id = os.environ['NAMESPACE_ID'] container_name = os.environ['CONTAINER_NAME'] + if not namespace_id: + service_name = container_name + else: + service_name = container_name.rstrip(namespace_id) daemon = ContainerConfigDaemon() daemon.run() diff --git a/src/sonic-containercfgd/tests/test_syslog_config.py b/src/sonic-containercfgd/tests/test_syslog_config.py index a823d9f9ae..38d68270d0 100644 --- a/src/sonic-containercfgd/tests/test_syslog_config.py +++ b/src/sonic-containercfgd/tests/test_syslog_config.py @@ -12,6 +12,7 @@ sys.path.insert(0, modules_path) from containercfgd import containercfgd containercfgd.container_name = 'swss' +containercfgd.service_name = 'swss' def test_handle_config():