diff --git a/src/sonic-containercfgd/containercfgd/containercfgd.py b/src/sonic-containercfgd/containercfgd/containercfgd.py index f604034fc3d..9569e4b8fb8 100644 --- a/src/sonic-containercfgd/containercfgd/containercfgd.py +++ b/src/sonic-containercfgd/containercfgd/containercfgd.py @@ -23,6 +23,7 @@ # Container name container_name = None +service_name = None def run_command(command): @@ -117,7 +118,7 @@ def handle_config(self, table, key, data): 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 @@ def handle_init_data(self, init_data): 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. @@ -151,7 +152,7 @@ def update_syslog_config(self, data): if os.path.exists(self.TMP_SYSLOG_CONF_PATH): os.remove(self.TMP_SYSLOG_CONF_PATH) with open(self.TMP_SYSLOG_CONF_PATH, 'w+') as f: - json_args = f'{{"container_name": "{container_name}" }}' + json_args = f'{{"container_name": "{service_name}" }}' output = run_command(['sonic-cfggen', '-d', '-t', '/usr/share/sonic/templates/rsyslog-container.conf.j2', '-a', json_args]) f.write(output) run_command(['cp', self.TMP_SYSLOG_CONF_PATH, self.SYSLOG_CONF_PATH]) @@ -185,7 +186,13 @@ def parse_syslog_conf(self): 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 a823d9f9aea..38d68270d03 100644 --- a/src/sonic-containercfgd/tests/test_syslog_config.py +++ b/src/sonic-containercfgd/tests/test_syslog_config.py @@ -12,6 +12,7 @@ from containercfgd import containercfgd containercfgd.container_name = 'swss' +containercfgd.service_name = 'swss' def test_handle_config():