From e41c2e3c8e0f60093448bf0454bc216663f30d90 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Wed, 9 Feb 2022 16:53:30 +0200 Subject: [PATCH] [hostcfgd.service] start after interfaces-config.service This change fixes a race condition where the first ConfigDBConnector.connect() passes, however due to network stack gets reloaded in parallel it could be that the next call from KdumpCfg to 'sonic-kdump-config' command which invokes 'sonic-installer' which internally tries to connect to the database we might get a traceback: ``` Traceback (most recent call last):', ' File "/usr/local/bin/sonic-installer", line 5, in , from sonic_installer.main import sonic_installer', ' File "/usr/local/lib/python3.9/dist-packages/sonic_installer/main.py", line 7, in ', import utilities_common.cli as clicommon', ' File "/usr/local/lib/python3.9/dist-packages/utilities_common/cli.py", line 189, in ', iface_alias_converter = InterfaceAliasConverter()', ' File "/usr/local/lib/python3.9/dist-packages/utilities_common/cli.py", line 126, in __init__', self.port_dict = multi_asic.get_port_table()', ' File "/usr/local/lib/python3.9/dist-packages/sonic_py_common/multi_asic.py", line 301, in get_port_table', ports = get_port_table_for_asic(ns)', ' File "/usr/local/lib/python3.9/dist-packages/sonic_py_common/multi_asic.py", line 315, in get_port_table_for_asic', config_db = connect_config_db_for_ns(namespace)', ' File "/usr/local/lib/python3.9/dist-packages/sonic_py_common/multi_asic.py", line 47, in connect_config_db_for_ns', config_db.connect()', File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 1829, in connect', return _swsscommon.ConfigDBConnector_Native_connect(self, wait_for_init, retry_on)', 'RuntimeError: Unable to connect to redis: Cannot assign requested address ``` And an error in the log during config reload: ``` Jan 25 22:28:03.209985 r-moose-simx-161 ERR hostcfgd: sonic-kdump-config --disable - failed: return code - 1, output:#012None Jan 25 22:28:03.528764 r-moose-simx-161 ERR hostcfgd: sonic-kdump-config --memory 0M-2G:256M,2G-4G:320M,4G-8G:384M,8G-:448M - failed: return code - 1, output:#012None ``` --- .../debian/sonic-host-services-data.hostcfgd.service | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sonic-host-services-data/debian/sonic-host-services-data.hostcfgd.service b/src/sonic-host-services-data/debian/sonic-host-services-data.hostcfgd.service index 5e243452712..59f7acb7158 100644 --- a/src/sonic-host-services-data/debian/sonic-host-services-data.hostcfgd.service +++ b/src/sonic-host-services-data/debian/sonic-host-services-data.hostcfgd.service @@ -1,6 +1,7 @@ [Unit] Description=Host config enforcer daemon Requires=updategraph.service +After=interfaces-config.service After=updategraph.service BindsTo=sonic.target After=sonic.target