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