EnvironmentFile=/etc/default/quagga
Type=notify
StartLimitInterval=3m
-StartLimitBurst=3
+StartLimitBurst=6
TimeoutSec=1m
WatchdogSec=60s
RestartSec=5
Type=notify
EnvironmentFile=/etc/default/quagga
StartLimitInterval=3m
-StartLimitBurst=3
+StartLimitBurst=6
TimeoutSec=1m
WatchdogSec=60s
RestartSec=5
Type=notify
EnvironmentFile=/etc/default/quagga
StartLimitInterval=3m
-StartLimitBurst=3
+StartLimitBurst=6
TimeoutSec=1m
WatchdogSec=60s
RestartSec=5
Nice=-5
EnvironmentFile=/etc/default/quagga
StartLimitInterval=3m
-StartLimitBurst=3
+StartLimitBurst=6
TimeoutSec=1m
WatchdogSec=60s
RestartSec=5
Nice=-5
EnvironmentFile=/etc/default/quagga
StartLimitInterval=3m
-StartLimitBurst=3
+StartLimitBurst=15
TimeoutSec=1m
WatchdogSec=60s
RestartSec=5
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
+ExecStopPost=/bin/touch /var/run/quagga/ospfd@%I.was_running
[Install]
WantedBy=network-online.target
usr/include/quagga/
usr/lib/
tools/quagga-reload.py usr/lib/quagga/
-tools/startup usr/lib/quagga/
+tools/quagga usr/lib/quagga
usr/share/doc/quagga/
usr/share/man/man1/vtysh.1
usr/share/man/man8
+++ /dev/null
-[Unit]
-Description=Cumulus Linux Quagga convenience service
-After=networking.service syslog.service
-
-[Service]
-EnvironmentFile=-/etc/default/quagga
-Type=simple
-RemainAfterExit=yes
-TimeoutSec=2m30s
-TimeoutStopSec=1m
-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
-#
-ExecStart=/bin/true
-ExecStop=/bin/true
-#
-ExecStopPost=-/bin/systemctl stop bgpd.service
-ExecStopPost=-/bin/systemctl stop isisd.service
-ExecStopPost=-/bin/systemctl stop ospfd.service
-ExecStopPost=-/bin/systemctl stop ospf6d.service
-ExecStopPost=-/bin/systemctl stop ripd.service
-ExecStopPost=-/bin/systemctl stop ripngd.service
-ExecStopPost=-/bin/systemctl stop zebra.service
-
-[Install]
-WantedBy=network-online.target
Type=notify
EnvironmentFile=/etc/default/quagga
StartLimitInterval=3m
-StartLimitBurst=3
+StartLimitBurst=6
TimeoutSec=1m
WatchdogSec=60s
RestartSec=5
sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la
override_dh_systemd_start:
- dh_systemd_start quagga.service
dh_systemd_start bgpd.service
dh_systemd_start isisd.service
dh_systemd_start ospfd.service
dh_systemd_start zebra.service
override_dh_systemd_enable:
- dh_systemd_enable --no-enable quagga.service
dh_systemd_enable --no-enable bgpd.service
dh_systemd_enable --no-enable isisd.service
dh_systemd_enable --no-enable ospfd.service
EnvironmentFile=/etc/default/quagga
Type=notify
StartLimitInterval=3m
-StartLimitBurst=3
+StartLimitBurst=6
TimeoutSec=1m
WatchdogSec=60s
RestartSec=5
--- /dev/null
+#!/bin/bash
+
+startup()
+{
+ FILE="/var/run/quagga/$1.was_running"
+
+ /bin/systemctl reset-failed $1
+
+ if [ -e $FILE ]
+ then
+ rm $FILE
+ systemctl start $1
+ fi
+
+ /bin/systemctl is-enabled $1 > /dev/null 2>&1
+ if [ $? -eq 0 ]
+ then
+ systemctl start $1
+ fi
+}
+
+start_ospfd_multiinstance()
+{
+ for instance in $MI; do
+ echo "Starting $instance"
+ startup ospfd@$instance
+ done
+}
+
+start_daemons()
+{
+ startup zebra
+ startup bgpd
+ startup ospfd
+ startup ospf6d
+ startup ripd
+ startup ripngd
+ startup isisd
+ start_ospfd_multiinstance
+}
+
+stop_ospfd_multiinstance()
+{
+ for instance in $MI; do
+ echo "Stopping instance: $instance"
+ /bin/systemctl stop ospfd@$instance
+ done
+}
+
+stop_daemons()
+{
+ stop_ospfd_multiinstance
+ /bin/systemctl stop bgpd ospfd ospf6d ripd ripngd isisd zebra
+}
+
+MI=`systemctl list-units 'ospfd@*'| sed -n -e '/@/s/\..*//' -e 's/.*@//p'`
+case "$1" in
+ start)
+ start_daemons
+ ;;
+ stop)
+ stop_daemons
+ ;;
+ restart)
+ stop_daemons
+ start_daemons
+ ;;
+ reload)
+ /usr/lib/quagga/quagga-reload.py --reload /etc/quagga/Quagga.conf
+ exit $?
+ ;;
+esac
+
+exit 0
print "'service integrated-vtysh-config' is not configured, this is required for 'service quagga reload'"
sys.exit(1)
- status_error = int(subprocess.call('service quagga status', shell=True))
+ status_error = int(subprocess.call('/usr/lib/quagga/quagga status', shell=True))
if status_error:
print "quagga is not running"
subprocess.call(cmd)
if restart_bgp:
- cmd = ['sudo', 'service', 'quagga', 'restart', 'bgpd']
+ cmd = ['sudo', 'systemctl', 'restart', 'bgpd']
subprocess.call(cmd)
+++ /dev/null
-#!/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