summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/init/vyconfd.sh11
-rwxr-xr-xsrc/init/vyos-router2
-rw-r--r--src/systemd/vyconfd.service2
3 files changed, 12 insertions, 3 deletions
diff --git a/src/init/vyconfd.sh b/src/init/vyconfd.sh
new file mode 100755
index 000000000..670651f57
--- /dev/null
+++ b/src/init/vyconfd.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+# Check if state file exists to determine if restart
+if [ -f /var/run/vyconfd.state ]; then
+ echo "Restarting vyconfd from active config"
+ /usr/libexec/vyos/vyconf/vyconfd --log-file /var/run/log/vyconfd.log --reload-active-config --legacy-config-path
+else
+ echo "Starting vyconfd from saved config"
+ touch /var/run/vyconfd.state
+ /usr/libexec/vyos/vyconf/vyconfd --log-file /var/run/log/vyconfd.log --legacy-config-path
+fi
diff --git a/src/init/vyos-router b/src/init/vyos-router
index 5365a40f1..794715368 100755
--- a/src/init/vyos-router
+++ b/src/init/vyos-router
@@ -594,8 +594,6 @@ start ()
disabled system_config || system_config || overall_status=1
- systemctl start vyconfd.service
-
for s in ${subinit[@]} ; do
if ! disabled $s; then
log_progress_msg $s
diff --git a/src/systemd/vyconfd.service b/src/systemd/vyconfd.service
index d23ca2202..6e6292f60 100644
--- a/src/systemd/vyconfd.service
+++ b/src/systemd/vyconfd.service
@@ -8,7 +8,7 @@ DefaultDependencies=no
After=systemd-remount-fs.service
[Service]
-ExecStart=/usr/libexec/vyos/vyconf/vyconfd --log-file /var/run/log/vyconfd.log --legacy-config-path
+ExecStart=/usr/libexec/vyos/init/vyconfd.sh
Type=exec
SyslogIdentifier=vyconfd
SyslogFacility=daemon