b1cc94c
From 91eddf68ca54ba11a22f58de9a4e8f5deb53cccc Mon Sep 17 00:00:00 2001
b1cc94c
From: Michal Sekletar <msekleta@redhat.com>
b1cc94c
Date: Thu, 20 Oct 2016 12:56:34 +0200
b1cc94c
Subject: [PATCH] systemd: various service file improvements
b1cc94c
b1cc94c
(1) network.target is generally used as a synchronization point during
b1cc94c
boot up and not as a "boot target" (target where services are actually
b1cc94c
enabled). Also as per 'man 7 systemd.special', service implementing
b1cc94c
networking should pull network.target into transaction and order itself
b1cc94c
before it. Hence, it doesn't make sense for zebra and friends to be
b1cc94c
enabled in network.target, because they should actively pull in
b1cc94c
network.target into boot transaction. Let's enable them as normal
b1cc94c
services in multi-user.target and order against network{,-pre}.target
b1cc94c
appropriately.
b1cc94c
b1cc94c
(2) All quagga daemons needs zebra to be running at all times and want
b1cc94c
to restarted/stopped whenever zebra is. This is expressed by BindsTo=
b1cc94c
dependency in a unit file (note "s" in Binds).
b1cc94c
---
b1cc94c
 redhat/bgpd.service   | 8 +++++---
b1cc94c
 redhat/isisd.service  | 8 +++++---
b1cc94c
 redhat/ospf6d.service | 8 +++++---
b1cc94c
 redhat/ospfd.service  | 8 +++++---
b1cc94c
 redhat/ripd.service   | 8 +++++---
b1cc94c
 redhat/ripngd.service | 8 +++++---
b1cc94c
 redhat/zebra.service  | 6 ++++--
b1cc94c
 7 files changed, 34 insertions(+), 20 deletions(-)
b1cc94c
fe94d73
diff --git a/redhat/bgpd.service b/redhat/bgpd.service
b1cc94c
index 5040284..ef24841 100644
fe94d73
--- a/redhat/bgpd.service
fe94d73
+++ b/redhat/bgpd.service
b1cc94c
@@ -1,7 +1,9 @@
fe94d73
 [Unit]
fe94d73
 Description=BGP routing daemon
935ba73
-BindTo=zebra.service
fe94d73
-After=syslog.target network.target zebra.service
935ba73
+BindsTo=zebra.service
b1cc94c
+Wants=network.target
b1cc94c
+After=zebra.service network-pre.target
b1cc94c
+Before=network.target
fe94d73
 ConditionPathExists=/etc/quagga/bgpd.conf
fe94d73
 
fe94d73
 [Service]
b1cc94c
@@ -11,4 +13,4 @@ ExecStart=/usr/sbin/bgpd -d $BGPD_OPTS -f /etc/quagga/bgpd.conf
fe94d73
 Restart=on-abort
fe94d73
 
fe94d73
 [Install]
fe94d73
-WantedBy=network.target
fe94d73
+WantedBy=multi-user.target
fe94d73
diff --git a/redhat/isisd.service b/redhat/isisd.service
b1cc94c
index 4cdf67d..edb6eea 100644
fe94d73
--- a/redhat/isisd.service
fe94d73
+++ b/redhat/isisd.service
b1cc94c
@@ -1,7 +1,9 @@
fe94d73
 [Unit]
fe94d73
 Description=IS-IS routing daemon
935ba73
-BindTo=zebra.service
fe94d73
-After=syslog.target network.target zebra.service
935ba73
+BindsTo=zebra.service
b1cc94c
+Wants=network.target
b1cc94c
+After=zebra.service network-pre.target
b1cc94c
+Before=network.target
fe94d73
 ConditionPathExists=/etc/quagga/isisd.conf
fe94d73
 
fe94d73
 [Service]
b1cc94c
@@ -11,4 +13,4 @@ ExecStart=/usr/sbin/isisd -d $ISISD_OPTS -f /etc/quagga/isisd.conf
fe94d73
 Restart=on-abort
fe94d73
 
fe94d73
 [Install]
fe94d73
-WantedBy=network.target
fe94d73
+WantedBy=multi-user.target
fe94d73
diff --git a/redhat/ospf6d.service b/redhat/ospf6d.service
b1cc94c
index 3c9c466..b53b970 100644
fe94d73
--- a/redhat/ospf6d.service
fe94d73
+++ b/redhat/ospf6d.service
b1cc94c
@@ -1,7 +1,9 @@
fe94d73
 [Unit]
fe94d73
 Description=OSPF routing daemon for IPv6
935ba73
-BindTo=zebra.service
fe94d73
-After=syslog.target network.target zebra.service
935ba73
+BindsTo=zebra.service
b1cc94c
+Wants=network.target
b1cc94c
+After=zebra.service network-pre.target
b1cc94c
+Before=network.target
fe94d73
 ConditionPathExists=/etc/quagga/ospf6d.conf
fe94d73
 
fe94d73
 [Service]
b1cc94c
@@ -11,4 +13,4 @@ ExecStart=/usr/sbin/ospf6d -d $OSPF6D_OPTS -f /etc/quagga/ospf6d.conf
fe94d73
 Restart=on-abort
fe94d73
 
fe94d73
 [Install]
fe94d73
-WantedBy=network.target
fe94d73
+WantedBy=multi-user.target
fe94d73
diff --git a/redhat/ospfd.service b/redhat/ospfd.service
b1cc94c
index 5e3de23..5d6c5bb 100644
fe94d73
--- a/redhat/ospfd.service
fe94d73
+++ b/redhat/ospfd.service
b1cc94c
@@ -1,7 +1,9 @@
fe94d73
 [Unit]
fe94d73
 Description=OSPF routing daemon
935ba73
-BindTo=zebra.service
fe94d73
-After=syslog.target network.target zebra.service
935ba73
+BindsTo=zebra.service
b1cc94c
+Wants=network.target
b1cc94c
+After=zebra.service network-pre.target
b1cc94c
+Before=network.target
fe94d73
 ConditionPathExists=/etc/quagga/ospfd.conf
fe94d73
 
fe94d73
 [Service]
b1cc94c
@@ -11,4 +13,4 @@ ExecStart=/usr/sbin/ospfd -d $OSPFD_OPTS -f /etc/quagga/ospfd.conf
fe94d73
 Restart=on-abort
fe94d73
 
fe94d73
 [Install]
fe94d73
-WantedBy=network.target
fe94d73
+WantedBy=multi-user.target
fe94d73
diff --git a/redhat/ripd.service b/redhat/ripd.service
b1cc94c
index d35dc47..ed7f922 100644
fe94d73
--- a/redhat/ripd.service
fe94d73
+++ b/redhat/ripd.service
b1cc94c
@@ -1,7 +1,9 @@
fe94d73
 [Unit]
fe94d73
 Description=RIP routing daemon
935ba73
-BindTo=zebra.service
fe94d73
-After=syslog.target network.target zebra.service
935ba73
+BindsTo=zebra.service
b1cc94c
+Wants=network.target
b1cc94c
+After=zebra.service network-pre.target
b1cc94c
+Before=network.target
fe94d73
 ConditionPathExists=/etc/quagga/ripd.conf
fe94d73
 
fe94d73
 [Service]
b1cc94c
@@ -11,4 +13,4 @@ ExecStart=/usr/sbin/ripd -d $RIPD_OPTS -f /etc/quagga/ripd.conf
fe94d73
 Restart=on-abort
fe94d73
 
fe94d73
 [Install]
fe94d73
-WantedBy=network.target
fe94d73
+WantedBy=multi-user.target
fe94d73
diff --git a/redhat/ripngd.service b/redhat/ripngd.service
b1cc94c
index 567e888..2519b31 100644
fe94d73
--- a/redhat/ripngd.service
fe94d73
+++ b/redhat/ripngd.service
b1cc94c
@@ -1,7 +1,9 @@
fe94d73
 [Unit]
fe94d73
 Description=RIP routing daemon for IPv6
935ba73
-BindTo=zebra.service
fe94d73
-After=syslog.target network.target zebra.service
935ba73
+BindsTo=zebra.service
b1cc94c
+Wants=network.target
b1cc94c
+After=zebra.service network-pre.target
b1cc94c
+Before=network.target
fe94d73
 ConditionPathExists=/etc/quagga/ripngd.conf
fe94d73
 
fe94d73
 [Service]
b1cc94c
@@ -11,4 +13,4 @@ ExecStart=/usr/sbin/ripngd -d $RIPNGD_OPTS -f /etc/quagga/ripngd.conf
fe94d73
 Restart=on-abort
fe94d73
 
fe94d73
 [Install]
fe94d73
-WantedBy=network.target
fe94d73
+WantedBy=multi-user.target
fe94d73
diff --git a/redhat/zebra.service b/redhat/zebra.service
b1cc94c
index 27c3a52..f9107f1 100644
fe94d73
--- a/redhat/zebra.service
fe94d73
+++ b/redhat/zebra.service
b1cc94c
@@ -1,6 +1,8 @@
fe94d73
 [Unit]
fe94d73
 Description=GNU Zebra routing manager
fe94d73
-After=syslog.target network.target
fe94d73
+Wants=network.target
fe94d73
+Before=network.target
b1cc94c
+After=network-pre.target
fe94d73
 ConditionPathExists=/etc/quagga/zebra.conf
fe94d73
 
fe94d73
 [Service]
b1cc94c
@@ -11,4 +13,4 @@ ExecStart=/usr/sbin/zebra -d $ZEBRA_OPTS -f /etc/quagga/zebra.conf
fe94d73
 Restart=on-abort
fe94d73
 
fe94d73
 [Install]
fe94d73
-WantedBy=network.target
fe94d73
+WantedBy=multi-user.target
b1cc94c
-- 
b1cc94c
2.7.4
b1cc94c