diff options
author | Daniil Baturin <daniil@vyos.io> | 2024-05-02 17:09:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-02 17:09:18 +0200 |
commit | 36aeda94a2b16b2abe340d165dbc4f8ff01db756 (patch) | |
tree | 7769c5cb39109ed2f9949456e434e6e309d18f5d /src | |
parent | 44008b19c5e8547521908b0df04f75215fb3fb79 (diff) | |
parent | 781109ec44fa9421ab3b5022b9a92ed8750bd78b (diff) | |
download | vyos-1x-36aeda94a2b16b2abe340d165dbc4f8ff01db756.tar.gz vyos-1x-36aeda94a2b16b2abe340d165dbc4f8ff01db756.zip |
Merge pull request #3396 from vyos/mergify/bp/sagitta/pr-3386
T6056: Change static-host-mapping should not restart snmpd (backport #3386)
Diffstat (limited to 'src')
-rwxr-xr-x | src/conf_mode/system_host-name.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/conf_mode/system_host-name.py b/src/conf_mode/system_host-name.py index 8975cadb6..3f245f166 100755 --- a/src/conf_mode/system_host-name.py +++ b/src/conf_mode/system_host-name.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2018-2023 VyOS maintainers and contributors +# Copyright (C) 2018-2024 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as @@ -22,6 +22,7 @@ import vyos.hostsd_client from vyos.base import Warning from vyos.config import Config +from vyos.configdict import leaf_node_changed from vyos.ifconfig import Section from vyos.template import is_ip from vyos.utils.process import cmd @@ -37,6 +38,7 @@ default_config_data = { 'domain_search': [], 'nameserver': [], 'nameservers_dhcp_interfaces': {}, + 'snmpd_restart_reqired': False, 'static_host_mapping': {} } @@ -52,6 +54,10 @@ def get_config(config=None): hosts['hostname'] = conf.return_value(['system', 'host-name']) + base = ['system'] + if leaf_node_changed(conf, base + ['host-name']) or leaf_node_changed(conf, base + ['domain-name']): + hosts['snmpd_restart_reqired'] = True + # This may happen if the config is not loaded yet, # e.g. if run by cloud-init if not hosts['hostname']: @@ -171,7 +177,7 @@ def apply(config): call("systemctl restart rsyslog.service") # If SNMP is running, restart it too - if process_named_running('snmpd'): + if process_named_running('snmpd') and config['snmpd_restart_reqired']: call('systemctl restart snmpd.service') return None |