diff options
author | Christian Breunig <christian@breunig.cc> | 2023-12-01 08:16:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-01 08:16:39 +0100 |
commit | 01fec00f0d662b26262678823bfe4d3cc0d5b574 (patch) | |
tree | 23c1cab772d9ca030f23d0b9a0a615b544b6e5a3 | |
parent | 652e235894aeae46765ea9fbbe2208578aaa7a8c (diff) | |
parent | ccee236ee5f60969e07df5578dd1cb95f8573d82 (diff) | |
download | vyos-1x-01fec00f0d662b26262678823bfe4d3cc0d5b574.tar.gz vyos-1x-01fec00f0d662b26262678823bfe4d3cc0d5b574.zip |
Merge pull request #2556 from vyos/mergify/bp/sagitta/pr-2459
mdns: T5723: Always reload systemd daemon before applying changes (backport #2459)
-rw-r--r-- | data/templates/mdns-repeater/override.conf.j2 | 7 | ||||
-rwxr-xr-x | src/conf_mode/service_mdns-repeater.py | 14 | ||||
-rw-r--r-- | src/etc/systemd/system/avahi-daemon.service.d/override.conf | 8 |
3 files changed, 18 insertions, 11 deletions
diff --git a/data/templates/mdns-repeater/override.conf.j2 b/data/templates/mdns-repeater/override.conf.j2 new file mode 100644 index 000000000..8c8187489 --- /dev/null +++ b/data/templates/mdns-repeater/override.conf.j2 @@ -0,0 +1,7 @@ +[Unit] +After=vyos-router.service +ConditionPathExists={{ config_file }} + +[Service] +ExecStart= +ExecStart=/usr/sbin/avahi-daemon --syslog --file {{ config_file }} 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 diff --git a/src/etc/systemd/system/avahi-daemon.service.d/override.conf b/src/etc/systemd/system/avahi-daemon.service.d/override.conf deleted file mode 100644 index a9d2085f7..000000000 --- a/src/etc/systemd/system/avahi-daemon.service.d/override.conf +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -After= -After=vyos-router.service -ConditionPathExists=/run/avahi-daemon/avahi-daemon.conf - -[Service] -ExecStart= -ExecStart=/usr/sbin/avahi-daemon --syslog --file /run/avahi-daemon/avahi-daemon.conf
\ No newline at end of file |