diff options
author | Indrajit Raychaudhuri <irc@indrajit.com> | 2023-11-07 14:03:20 -0600 |
---|---|---|
committer | Indrajit Raychaudhuri <irc@indrajit.com> | 2023-11-07 15:51:13 -0600 |
commit | eb906739047187c322b6ce9efe7c9479bed9a024 (patch) | |
tree | 329e9b3e78211e8252fa878cb105480c69f42332 /src/conf_mode | |
parent | 45c6b0ccae5c432088ecea627593891a6f9a3943 (diff) | |
download | vyos-1x-eb906739047187c322b6ce9efe7c9479bed9a024.tar.gz vyos-1x-eb906739047187c322b6ce9efe7c9479bed9a024.zip |
mdns: T5723: Always reload systemd daemon before applying changes
Additionally, templatize system service override and move it to the
runtime path.
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-x | src/conf_mode/service_mdns-repeater.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/conf_mode/service_mdns-repeater.py b/src/conf_mode/service_mdns-repeater.py index 6909731ff..6526c23d1 100755 --- a/src/conf_mode/service_mdns-repeater.py +++ b/src/conf_mode/service_mdns-repeater.py @@ -29,6 +29,7 @@ from vyos import airbag airbag.enable() config_file = '/run/avahi-daemon/avahi-daemon.conf' +systemd_override = r'/run/systemd/system/avahi-daemon.service.d/override.conf' vrrp_running_file = '/run/mdns_vrrp_active' def get_config(config=None): @@ -48,6 +49,8 @@ def get_config(config=None): if mdns: mdns['vrrp_exists'] = conf.exists('high-availability vrrp') + mdns['config_file'] = config_file + return mdns def verify(mdns): @@ -101,11 +104,16 @@ def generate(mdns): return None render(config_file, 'mdns-repeater/avahi-daemon.conf.j2', mdns) + render(systemd_override, 'mdns-repeater/override.conf.j2', mdns) return None def apply(mdns): + systemd_service = 'avahi-daemon.service' + # Reload systemd manager configuration + call('systemctl daemon-reload') + if not mdns or 'disable' in mdns: - call('systemctl stop avahi-daemon.service') + call(f'systemctl stop {systemd_service}') if os.path.exists(config_file): os.unlink(config_file) @@ -120,10 +128,10 @@ def apply(mdns): os.mknod(vrrp_running_file) # vrrp script looks for this file to update mdns repeater if len(mdns['interface']) < 2: - call('systemctl stop avahi-daemon.service') + call(f'systemctl stop {systemd_service}') return None - call('systemctl restart avahi-daemon.service') + call(f'systemctl restart {systemd_service}') return None |