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