summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/control1
-rwxr-xr-xsrc/services/vyos-hostsd1
-rwxr-xr-xsrc/services/vyos-http-api-server4
-rw-r--r--src/systemd/vyos-hostsd.service6
-rw-r--r--src/systemd/vyos-http-api.service8
5 files changed, 10 insertions, 10 deletions
diff --git a/debian/control b/debian/control
index 3a441b47b..089b2d6e2 100644
--- a/debian/control
+++ b/debian/control
@@ -36,6 +36,7 @@ Depends: python3,
python3-xmltodict,
python3-pyudev,
python3-voluptuous,
+ python3-systemd,
bsdmainutils,
cron,
etherwake,
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