From b69837c009c9167651a59ee9bd90c3938b4d06b2 Mon Sep 17 00:00:00 2001 From: Prince Sunny Date: Thu, 26 Apr 2018 15:10:09 -0700 Subject: [PATCH] Stop services before pushing new config during "load_minigraph" (#247) * Stop sonic services before pushing new config * Address comments. Stop service during config reload --- config/main.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/main.py b/config/main.py index 10845a1db1..ae5da507f2 100755 --- a/config/main.py +++ b/config/main.py @@ -141,6 +141,15 @@ def _abort_if_false(ctx, param, value): if not value: ctx.abort() +def _stop_services(): + run_command("service dhcp_relay stop", display_cmd=True) + run_command("service swss stop", display_cmd=True) + run_command("service snmp stop", display_cmd=True) + run_command("service lldp stop", display_cmd=True) + run_command("service pmon stop", display_cmd=True) + run_command("service bgp stop", display_cmd=True) + run_command("service teamd stop", display_cmd=True) + def _restart_services(): run_command("service hostname-config restart", display_cmd=True) run_command("service interfaces-config restart", display_cmd=True) @@ -187,6 +196,8 @@ def load(filename): @click.argument('filename', default='/etc/sonic/config_db.json', type=click.Path(exists=True)) def reload(filename): """Clear current configuration and import a previous saved config DB dump file.""" + #Stop services before config push + _stop_services() config_db = ConfigDBConnector() config_db.connect() client = config_db.redis_clients[config_db.CONFIG_DB] @@ -225,6 +236,9 @@ def load_mgmt_config(filename): expose_value=False, prompt='Reload config from minigraph?') def load_minigraph(): """Reconfigure based on minigraph.""" + #Stop services before config push + _stop_services() + config_db = ConfigDBConnector() config_db.connect() client = config_db.redis_clients[config_db.CONFIG_DB]