diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-07-25 17:50:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-25 17:50:06 +0200 |
commit | bfbf51acb2d4b6b5fe2d22d39f7259686f98d2a0 (patch) | |
tree | 979a245e4b538daf0a7752a1e4f1a62fa6a4c521 /src | |
parent | 1a85e758b105d493bb9d95916816bd206345bc5d (diff) | |
parent | be8cda7f711a7a26c85b51976c299a6837750a63 (diff) | |
download | vyos-1x-bfbf51acb2d4b6b5fe2d22d39f7259686f98d2a0.tar.gz vyos-1x-bfbf51acb2d4b6b5fe2d22d39f7259686f98d2a0.zip |
Merge pull request #423 from thomas-mangin/T2494
systemd: T2494: allow to restart vyos-hostsd without consequence
Diffstat (limited to 'src')
-rwxr-xr-x | src/services/vyos-hostsd | 1 | ||||
-rwxr-xr-x | src/services/vyos-http-api-server | 4 | ||||
-rw-r--r-- | src/systemd/vyos-hostsd.service | 6 | ||||
-rw-r--r-- | src/systemd/vyos-http-api.service | 8 |
4 files changed, 9 insertions, 10 deletions
diff --git a/src/services/vyos-hostsd b/src/services/vyos-hostsd index 0079f7e5c..53ac5a770 100755 --- a/src/services/vyos-hostsd +++ b/src/services/vyos-hostsd @@ -592,6 +592,7 @@ if __name__ == '__main__': socket.bind(SOCKET_PATH) os.umask(o_mask) + systemd.daemon.notify('READY=1') while True: # Wait for next request from client msg_json = socket.recv().decode() diff --git a/src/services/vyos-http-api-server b/src/services/vyos-http-api-server index d5730d86c..3eecaba5a 100755 --- a/src/services/vyos-http-api-server +++ b/src/services/vyos-http-api-server @@ -28,6 +28,7 @@ import vyos.config from flask import Flask, request from waitress import serve +import systemd.daemon from functools import wraps @@ -393,8 +394,9 @@ if __name__ == '__main__': signal.signal(signal.SIGTERM, sig_handler) + systemd.daemon.notify('READY=1') try: serve(app, host=server_config["listen_address"], port=server_config["port"]) except OSError as e: - print(f"OSError {e}") + sys.exit(f"OSError {e}") diff --git a/src/systemd/vyos-hostsd.service b/src/systemd/vyos-hostsd.service index b77335778..26e9c745e 100644 --- a/src/systemd/vyos-hostsd.service +++ b/src/systemd/vyos-hostsd.service @@ -1,5 +1,6 @@ [Unit] Description=VyOS DNS configuration keeper +Before=vyos-router.service # Without this option, lots of default dependencies are added, # among them network.target, which creates a dependency cycle @@ -14,7 +15,7 @@ WorkingDirectory=/run/vyos-hostsd RuntimeDirectory=vyos-hostsd RuntimeDirectoryPreserve=yes ExecStart=/usr/bin/python3 -u /usr/libexec/vyos/services/vyos-hostsd -Type=idle +Type=notify KillMode=process SyslogIdentifier=vyos-hostsd @@ -22,7 +23,6 @@ SyslogFacility=daemon Restart=on-failure -# Does't work in Jessie but leave it here User=root Group=hostsd @@ -31,4 +31,4 @@ Group=hostsd # Note: After= doesn't actually create a dependency, # it just sets order for the case when both services are to start, # and without RequiredBy it *does not* set vyos-hostsd to start. -RequiredBy=cloud-init-local.service vyos-router.service +WantedBy=vyos.target diff --git a/src/systemd/vyos-http-api.service b/src/systemd/vyos-http-api.service index 4fa68b4ff..74a97d193 100644 --- a/src/systemd/vyos-http-api.service +++ b/src/systemd/vyos-http-api.service @@ -4,9 +4,8 @@ After=auditd.service systemd-user-sessions.service time-sync.target vyos-router. Requires=vyos-router.service [Service] -ExecStartPre=/usr/libexec/vyos/init/vyos-config ExecStart=/usr/bin/python3 -u /usr/libexec/vyos/services/vyos-http-api-server -Type=idle +Type=notify KillMode=process SyslogIdentifier=vyos-http-api @@ -14,11 +13,8 @@ SyslogFacility=daemon Restart=on-failure -# Does't work but leave it here User=root Group=vyattacfg [Install] -# Installing in a earlier target leaves ExecStartPre waiting -WantedBy=getty.target - +WantedBy=vyos.target |