]> git.puffer.fish Git - mirror/frr.git/commitdiff
debian: Fixup 'systemctl restart quagga'
authorsharpd <sharpd@cumulusnetworks.com>
Fri, 19 Feb 2016 19:08:19 +0000 (11:08 -0800)
committersharpd <sharpd@cumulusnetworks.com>
Sun, 21 Feb 2016 23:39:10 +0000 (15:39 -0800)
The ability to restart was just restarting all daemons.
Modify code so that only daemons running *or* enabled are
started.

Ticket: CM-9384
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
debian/bgpd.service
debian/isisd.service
debian/ospf6d.service
debian/ospfd.service
debian/ospfd@.service
debian/quagga.install
debian/quagga.service
debian/ripd.service
debian/ripngd.service
debian/zebra.service
tools/startup [new file with mode: 0755]

index c7dc9418f399c9459543e624dcbd62d1a870ea9d..3162df1a4ae05416d8e0a4764c12af492cc25ed6 100644 (file)
@@ -17,5 +17,6 @@ Restart=on-abnormal
 LimitNOFILE=1024
 ExecStart=/usr/lib/quagga/bgpd $BGPD_OPTIONS
 ExecStartPost=/usr/bin/vtysh -b -n
+ExecStopPost=/usr/bin/touch /var/run/quagga/bgpd.was_running
 [Install]
 WantedBy=network-online.target
index ba2ca682128bb51b43b4fd965ba84a90a36fede6..888aaa06209aa67fe9c75cee35938f60e89cdf44 100644 (file)
@@ -17,5 +17,6 @@ Restart=on-abnormal
 LimitNOFILE=1024
 ExecStart=/usr/lib/quagga/isisd $ISISD_OPTIONS
 ExecStartPost=/usr/bin/vtysh -b -n
+ExecStopPost=/bin/touch /var/run/quagga/isisd.was_running
 [Install]
 WantedBy=network-online.target
index 2dee461acfa4b8f68e3cd25e1c12ec12d9a789ad..31a9cd477762cef609d473b30744eb065b313491 100644 (file)
@@ -16,5 +16,6 @@ RestartSec=5
 Restart=on-abnormal
 ExecStart=/usr/lib/quagga/ospf6d $OSPF6D_OPTIONS
 ExecStartPost=/usr/bin/vtysh -b  -n
+ExecStopPost=/usr/bin/touch /var/run/quagga/ospf6d.was_running
 [Install]
 WantedBy=network-online.target
index 907d546d76d2d46979326b9ebfed67c625917e05..92c310f6426c687cdc213c894591ed56109216b1 100644 (file)
@@ -17,5 +17,6 @@ Restart=on-abnormal
 LimitNOFILE=1024
 ExecStart=/usr/lib/quagga/ospfd $OSPFD_OPTIONS
 ExecStartPost=/usr/bin/vtysh -b  -n
+ExecStopPost=/usr/bin/touch /var/run/quagga/ospfd.was_running
 [Install]
 WantedBy=network-online.target
index 2cdaea864280357642ca556fa4b8392c448a3092..eb3fe9c1d9914e1712cfd9bba7e7515b48a17fe1 100644 (file)
@@ -17,5 +17,6 @@ Restart=on-abnormal
 LimitNOFILE=1024
 ExecStart=/usr/lib/quagga/ospfd $OSPFD_OPTIONS -n %I
 ExecStartPost=/usr/bin/vtysh -b  -n
+ExecStopPost=/bin/touch /var/run/quagga/ospfd.%I.was_running
 [Install]
 WantedBy=network-online.target
index 7d50178e34e2010ace2ea5dd1122238bffc3ebbe..0c3db58ffac04bd7c9e98aa823ed314f858da641 100644 (file)
@@ -3,6 +3,7 @@ usr/bin/vtysh
 usr/include/quagga/
 usr/lib/
 tools/quagga-reload.py usr/lib/quagga/
+tools/startup usr/lib/quagga/
 usr/share/doc/quagga/
 usr/share/man/man1/vtysh.1
 usr/share/man/man8
index 0113819f5f973937f737c9a729e56d88c4e41699..f052740b8fa387393762fe0ae54427bcbaf63f87 100644 (file)
@@ -8,13 +8,13 @@ Type=simple
 RemainAfterExit=yes
 TimeoutSec=2m30s
 TimeoutStopSec=1m
-ExecStartPre=-/bin/systemctl start zebra.service
-ExecStartPre=-/bin/systemctl start bgpd.service
-ExecStartPre=-/bin/systemctl start isisd.service
-ExecStartPre=-/bin/systemctl start ospfd.service
-ExecStartPre=-/bin/systemctl start ospf6d.service
-ExecStartPre=-/bin/systemctl start ripd.service
-ExecStartPre=-/bin/systemctl start ripngd.service
+ExecStartPre=-/usr/lib/quagga/startup zebra
+ExecStartPre=-/usr/lib/quagga/startup bgpd
+ExecStartPre=-/usr/lib/quagga/startup isisd
+ExecStartPre=-/usr/lib/quagga/startup ospfd
+ExecStartPre=-/usr/lib/quagga/startup ospf6d
+ExecStartPre=-/usr/lib/quagga/startup ripd
+ExecStartPre=-/usr/lib/quagga/startup ripngd
 ExecStartPost=-/usr/bin/vtysh -b -n
 #
 ExecReload=/usr/lib/quagga/quagga-reload.py --reload /etc/quagga/Quagga.conf
index 661b83b5c2a646c38936f7adf7d387f44dd3be13..f322d8db5fb45b6f0192958179916b567a249843 100644 (file)
@@ -17,5 +17,6 @@ Restart=on-abnormal
 LimitNOFILE=1024
 ExecStart=/usr/lib/quagga/ripd $RIPD_OPTIONS
 ExecStartPost=/usr/bin/vtysh -b -n
+ExecStopPost=/usr/bin/touch /var/run/quagga/ripd.was_running
 [Install]
 WantedBy=network-online.target
index cd39feeb8de7ba5c1cea8d914a6217bf16499e82..8c406e972bf59593058bb080ef3f7aca5da1fcd2 100644 (file)
@@ -17,5 +17,6 @@ Restart=on-abnormal
 LimitNOFILE=1024
 ExecStart=/usr/lib/quagga/ripngd $RIPNGD_OPTIONS
 ExecStartPost=/usr/bin/vtysh -b -n
+ExecStopPost=/bin/touch /var/run/quagga/ripngd.was_running
 [Install]
 WantedBy=network-online.target
index e540e49330c2541facc3bcf99369a11caafea119..281a162d2d6ab2cf874b2608262665d97af79af6 100644 (file)
@@ -16,5 +16,6 @@ Restart=on-abnormal
 LimitNOFILE=1024
 ExecStart=/usr/lib/quagga/zebra $ZEBRA_OPTIONS
 ExecStartPost=/usr/bin/vtysh -b -n
+ExecStopPost=/usr/bin/touch /var/run/quagga/zebra.was_running
 [Install]
 WantedBy=network-online.target
diff --git a/tools/startup b/tools/startup
new file mode 100755 (executable)
index 0000000..7ebb511
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Script to see if we should startup the particular
+# daemon as part of systemd initialization
+# If the daemon was running (set by the ExecStopPost
+# action in the Unit file ) or if the daemon
+# is enabled start it up
+FILE="/var/run/quagga/$1.was_running"
+if [ -e $FILE ]
+then
+    rm $FILE
+    systemctl start $1
+fi
+
+systemctl is-enabled $1 > /dev/null
+if [ $? -eq 0 ]
+then
+    systemctl start $1
+fi
+
+exit 0