[openstack-quantum/el6: 2/5] convert from systemd to sysv init

Pádraig Brady pbrady at fedoraproject.org
Tue Apr 17 22:51:06 UTC 2012


commit ddcd6469fa1e0086078fe637ee441ee3c4e937aa
Author: Pádraig Brady <P at draigBrady.com>
Date:   Fri Apr 13 16:19:28 2012 +0100

    convert from systemd to sysv init

 openstack-quantum.spec            |  137 ++++++++++++++----------------------
 quantum-linuxbridge-agent.init    |   94 +++++++++++++++++++++++++
 quantum-linuxbridge-agent.service |   12 ---
 quantum-openvswitch-agent.init    |   94 +++++++++++++++++++++++++
 quantum-openvswitch-agent.service |   12 ---
 quantum-ryu-agent.init            |   94 +++++++++++++++++++++++++
 quantum-ryu-agent.service         |   12 ---
 quantum-server.init               |   94 +++++++++++++++++++++++++
 quantum-server.service            |   12 ---
 9 files changed, 429 insertions(+), 132 deletions(-)
---
diff --git a/openstack-quantum.spec b/openstack-quantum.spec
index 3115905..a6b0cde 100644
--- a/openstack-quantum.spec
+++ b/openstack-quantum.spec
@@ -18,25 +18,25 @@ Source3:	quantum-config-set
 Source4:	quantum-server-setup
 Source5:	quantum-node-setup
 
-Source10:	quantum-server.service
-Source11:	quantum-linuxbridge-agent.service
-Source12:	quantum-openvswitch-agent.service
-Source13:	quantum-ryu-agent.service
+Source10:	quantum-server.init
+Source11:	quantum-linuxbridge-agent.init
+Source12:	quantum-openvswitch-agent.init
+Source13:	quantum-ryu-agent.init
 
 
 BuildArch:	noarch
 
 BuildRequires:	python2-devel
 BuildRequires:	python-setuptools
-BuildRequires:	systemd-units
 BuildRequires:	dos2unix
 
 Requires:	python-quantum = %{version}-%{release}
 
-Requires(pre):	shadow-utils
-Requires(post): systemd-units
-Requires(preun): systemd-units
-Requires(postun): systemd-units
+Requires(post):   chkconfig
+Requires(postun): initscripts
+Requires(preun):  chkconfig
+Requires(preun):  initscripts
+Requires(pre):    shadow-utils
 
 
 %description
@@ -203,15 +203,16 @@ install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack
 # Install sudoers
 install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/quantum
 
-# Install systemd units
-install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/quantum-server.service
-install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/quantum-linuxbridge-agent.service
-install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/quantum-openvswitch-agent.service
-install -p -D -m 644 %{SOURCE13} %{buildroot}%{_unitdir}/quantum-ryu-agent.service
+# Install sysv init scripts
+install -p -D -m 755 %{SOURCE10} %{buildroot}%{_initrddir}/quantum-server
+install -p -D -m 755 %{SOURCE11} %{buildroot}%{_initrddir}/quantum-linuxbridge-agent
+install -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/quantum-openvswitch-agent
+install -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/quantum-ryu-agent
 
 # Setup directories
 install -d -m 755 %{buildroot}%{_sharedstatedir}/quantum
 install -d -m 755 %{buildroot}%{_localstatedir}/log/quantum
+install -d -m 755 %{buildroot}%{_localstatedir}/run/quantum
 
 # Install setup helper scripts
 install -p -D -m 755 %{SOURCE3} %{buildroot}%{_bindir}/quantum-config-set
@@ -230,71 +231,80 @@ exit 0
 %post
 if [ $1 -eq 1 ] ; then
     # Initial installation
-    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+    /sbin/chkconfig --add quantum-server
 fi
 
-
 %preun
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
-    /bin/systemctl --no-reload disable quantum-server.service > /dev/null 2>&1 || :
-    /bin/systemctl stop quantum-server.service > /dev/null 2>&1 || :
+    /sbin/service quantum-server stop >/dev/null 2>&1
+    /sbin/chkconfig --del quantum-server
 fi
 
-
 %postun
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
 if [ $1 -ge 1 ] ; then
     # Package upgrade, not uninstall
-    /bin/systemctl try-restart quantum-server.service >/dev/null 2>&1 || :
+    /sbin/service quantum-server condrestart >/dev/null 2>&1 || :
 fi
 
 
+%post -n openstack-quantum-linuxbridge
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /sbin/chkconfig --add quantum-linuxbridge-agent
+fi
+
 %preun -n openstack-quantum-linuxbridge
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
-    /bin/systemctl --no-reload disable quantum-linuxbridge-agent.service > /dev/null 2>&1 || :
-    /bin/systemctl stop quantum-linuxbridge-agent.service > /dev/null 2>&1 || :
+    /sbin/service quantum-linuxbridge-agent stop >/dev/null 2>&1
+    /sbin/chkconfig --del quantum-linuxbridge-agent
 fi
 
-
 %postun -n openstack-quantum-linuxbridge
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
 if [ $1 -ge 1 ] ; then
     # Package upgrade, not uninstall
-    /bin/systemctl try-restart quantum-linuxbridge-agent.service >/dev/null 2>&1 || :
+    /sbin/service quantum-linuxbridge-agent condrestart >/dev/null 2>&1 || :
 fi
 
 
+%post -n openstack-quantum-openvswitch
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /sbin/chkconfig --add quantum-openvswitch-agent
+fi
+
 %preun -n openstack-quantum-openvswitch
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
-    /bin/systemctl --no-reload disable quantum-openvswitch-agent.service > /dev/null 2>&1 || :
-    /bin/systemctl stop quantum-openvswitch-agent.service > /dev/null 2>&1 || :
+    /sbin/service quantum-openvswitch-agent stop >/dev/null 2>&1
+    /sbin/chkconfig --del quantum-openvswitch-agent
 fi
 
-
 %postun -n openstack-quantum-openvswitch
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
 if [ $1 -ge 1 ] ; then
     # Package upgrade, not uninstall
-    /bin/systemctl try-restart quantum-openvswitch-agent.service >/dev/null 2>&1 || :
+    /sbin/service quantum-openvswitch-agent condrestart >/dev/null 2>&1 || :
 fi
 
 
+%post -n openstack-quantum-ryu
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /sbin/chkconfig --add quantum-ryu-agent
+fi
+
 %preun -n openstack-quantum-ryu
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
-    /bin/systemctl --no-reload disable quantum-ryu-agent.service > /dev/null 2>&1 || :
-    /bin/systemctl stop quantum-ryu-agent.service > /dev/null 2>&1 || :
+    /sbin/service quantum-ryu-agent stop >/dev/null 2>&1
+    /sbin/chkconfig --del quantum-ryu-agent
 fi
 
-
 %postun -n openstack-quantum-ryu
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
 if [ $1 -ge 1 ] ; then
     # Package upgrade, not uninstall
-    /bin/systemctl try-restart quantum-ryu-agent.service >/dev/null 2>&1 || :
+    /sbin/service quantum-ryu-agent condrestart >/dev/null 2>&1 || :
 fi
 
 
@@ -306,7 +316,7 @@ fi
 %{_bindir}/quantum-config-set
 %{_bindir}/quantum-server-setup
 %{_bindir}/quantum-node-setup
-%{_unitdir}/quantum-server.service
+%{_initrddir}/quantum-server
 %dir %{_sysconfdir}/quantum
 %config(noreplace) %{_sysconfdir}/quantum/quantum.conf
 %config(noreplace) %{_sysconfdir}/quantum/plugins.ini
@@ -315,6 +325,7 @@ fi
 %config(noreplace) %{_sysconfdir}/sudoers.d/quantum
 %dir %attr(0755, quantum, quantum) %{_sharedstatedir}/quantum
 %dir %attr(0755, quantum, quantum) %{_localstatedir}/log/quantum
+%dir %attr(0755, quantum, quantum) %{_localstatedir}/run/quantum
 
 
 %files -n python-quantum
@@ -362,7 +373,7 @@ fi
 %doc LICENSE
 %doc quantum/plugins/linuxbridge/README
 %{_bindir}/quantum-linuxbridge-agent
-%{_unitdir}/quantum-linuxbridge-agent.service
+%{_initrddir}/quantum-linuxbridge-agent
 %{python_sitelib}/quantum/plugins/linuxbridge
 %{python_sitelib}/quantum/rootwrap/linuxbridge-agent.py*
 %dir %{_sysconfdir}/quantum/plugins/linuxbridge
@@ -381,7 +392,7 @@ fi
 %doc LICENSE
 %doc quantum/plugins/openvswitch/README
 %{_bindir}/quantum-openvswitch-agent
-%{_unitdir}/quantum-openvswitch-agent.service
+%{_initrddir}/quantum-openvswitch-agent
 %{python_sitelib}/quantum/plugins/openvswitch
 %{python_sitelib}/quantum/rootwrap/openvswitch-agent.py*
 %dir %{_sysconfdir}/quantum/plugins/openvswitch
@@ -392,7 +403,7 @@ fi
 %doc LICENSE
 %doc quantum/plugins/ryu/README
 %{_bindir}/quantum-ryu-agent
-%{_unitdir}/quantum-ryu-agent.service
+%{_initrddir}/quantum-ryu-agent
 %{python_sitelib}/quantum/plugins/ryu
 %{python_sitelib}/quantum/rootwrap/ryu-agent.py*
 %dir %{_sysconfdir}/quantum/plugins/ryu
@@ -400,47 +411,5 @@ fi
 
 
 %changelog
-* Mon Apr  9 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-1
-- Update to essex release
-
-* Thu Apr  5 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-0.7.rc2
-- Update to essex rc2 milestone
-- Use PrivateTmp for services
-
-* Wed Mar 21 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-0.6.rc1
-- Update to official essex rc1 milestone
-- Add quantum-server-setup and quantum-node-setup scripts
-- Use hand-coded agent executables rather than easy-install scripts
-- Make plugin config files mode 640 and group quantum to protect passwords
-
-* Mon Mar 19 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-0.5.e4
-- Update to essex possible RC1 tarball
-- Remove patches incorporated upstream
-- Don't package test code
-- Remove dependencies only needed by test code
-
-* Wed Mar 14 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-0.4.e4
-- Upstream patch: add root_helper to quantum agents
-- Add sudoers file enabling quantum-rootwrap for quantum user
-- Configure plugin agents to use quantum-rootwrap
-- Run plugin agents as quantum user
-
-* Fri Mar  9 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-0.3.e4
-- Add upstream patch: remove pep8 and strict lxml version from setup.py
-- Remove old fix for pep8 dependency
-- Add upstream patch: Bug #949261 Removing nova drivers for Linux Bridge Plugin
-- Add openvswitch dependency
-
-* Mon Mar  5 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-0.2.e4
-- Update to essex milestone 4
-- Move plugins to sub-packages
-- Systemd units for agents
-
-* Mon Jan 31 2012 Robert Kukura <rkukura at redhat.com> - 2012.1-0.1.e3
-- Update to essex milestone 3 for F17
-
-* Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2011.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Thu Nov  18 2011 Robert Kukura <rkukura at redhat.com> - 2011.3-1
-- Initial package for Fedora
+* Thu Apr 12 2012 Pádraig Brady <pbrady at redhat.com> - 2012.1-1
+- Initial essex release
diff --git a/quantum-linuxbridge-agent.init b/quantum-linuxbridge-agent.init
new file mode 100644
index 0000000..b907a27
--- /dev/null
+++ b/quantum-linuxbridge-agent.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# quantum-linuxbridge-agent  OpenStack linuxbridge plugin
+#
+# chkconfig:   - 20 80
+# description: Support VLANs using Linux bridging
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+proj=quantum
+plugin=linuxbridge-agent
+prog=$proj-$plugin
+exec="/usr/bin/$prog"
+config="/etc/$proj/plugins/linuxbridge/linuxbridge_conf.ini"
+pidfile="/var/run/$proj/$prog.pid"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+    [ -x $exec ] || exit 5
+    [ -f $config ] || exit 6
+    echo -n $"Starting $prog: "
+    daemon --user quantum --pidfile $pidfile "$exec $config &>/dev/null & echo \$! > $pidfile"
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && touch $lockfile
+    return $retval
+}
+
+stop() {
+    echo -n $"Stopping $prog: "
+    killproc -p $pidfile $prog
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && rm -f $lockfile
+    return $retval
+}
+
+restart() {
+    stop
+    start
+}
+
+reload() {
+    restart
+}
+
+force_reload() {
+    restart
+}
+
+rh_status() {
+    status -p $pidfile $prog
+}
+
+rh_status_q() {
+    rh_status >/dev/null 2>&1
+}
+
+
+case "$1" in
+    start)
+        rh_status_q && exit 0
+        $1
+        ;;
+    stop)
+        rh_status_q || exit 0
+        $1
+        ;;
+    restart)
+        $1
+        ;;
+    reload)
+        rh_status_q || exit 7
+        $1
+        ;;
+    force-reload)
+        force_reload
+        ;;
+    status)
+        rh_status
+        ;;
+    condrestart|try-restart)
+        rh_status_q || exit 0
+        restart
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+        exit 2
+esac
+exit $?
diff --git a/quantum-openvswitch-agent.init b/quantum-openvswitch-agent.init
new file mode 100644
index 0000000..0e58246
--- /dev/null
+++ b/quantum-openvswitch-agent.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# quantum-openvswitch-agent  OpenStack Open vSwitch plugin
+#
+# chkconfig:   - 20 80
+# description: Support virtual networks using Open vSwitch
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+proj=quantum
+plugin=openvswitch-agent
+prog=$proj-$plugin
+exec="/usr/bin/$prog"
+config="/etc/$proj/plugins/openvswitch/ovs_quantum_plugin.ini"
+pidfile="/var/run/$proj/$prog.pid"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+    [ -x $exec ] || exit 5
+    [ -f $config ] || exit 6
+    echo -n $"Starting $prog: "
+    daemon --user quantum --pidfile $pidfile "$exec $config &>/dev/null & echo \$! > $pidfile"
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && touch $lockfile
+    return $retval
+}
+
+stop() {
+    echo -n $"Stopping $prog: "
+    killproc -p $pidfile $prog
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && rm -f $lockfile
+    return $retval
+}
+
+restart() {
+    stop
+    start
+}
+
+reload() {
+    restart
+}
+
+force_reload() {
+    restart
+}
+
+rh_status() {
+    status -p $pidfile $prog
+}
+
+rh_status_q() {
+    rh_status >/dev/null 2>&1
+}
+
+
+case "$1" in
+    start)
+        rh_status_q && exit 0
+        $1
+        ;;
+    stop)
+        rh_status_q || exit 0
+        $1
+        ;;
+    restart)
+        $1
+        ;;
+    reload)
+        rh_status_q || exit 7
+        $1
+        ;;
+    force-reload)
+        force_reload
+        ;;
+    status)
+        rh_status
+        ;;
+    condrestart|try-restart)
+        rh_status_q || exit 0
+        restart
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+        exit 2
+esac
+exit $?
diff --git a/quantum-ryu-agent.init b/quantum-ryu-agent.init
new file mode 100644
index 0000000..2d7be96
--- /dev/null
+++ b/quantum-ryu-agent.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# quantum-ryu-agent  OpenStack Ryu Network OS plugin
+#
+# chkconfig:   - 20 80
+# description: Support virtual networks using Ryu Network OS
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+proj=quantum
+plugin=ryu-agent
+prog=$proj-$plugin
+exec="/usr/bin/$prog"
+config="/etc/$proj/plugins/ryu/ryu.ini"
+pidfile="/var/run/$proj/$prog.pid"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+    [ -x $exec ] || exit 5
+    [ -f $config ] || exit 6
+    echo -n $"Starting $prog: "
+    daemon --user quantum --pidfile $pidfile "$exec $config &>/dev/null & echo \$! > $pidfile"
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && touch $lockfile
+    return $retval
+}
+
+stop() {
+    echo -n $"Stopping $prog: "
+    killproc -p $pidfile $prog
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && rm -f $lockfile
+    return $retval
+}
+
+restart() {
+    stop
+    start
+}
+
+reload() {
+    restart
+}
+
+force_reload() {
+    restart
+}
+
+rh_status() {
+    status -p $pidfile $prog
+}
+
+rh_status_q() {
+    rh_status >/dev/null 2>&1
+}
+
+
+case "$1" in
+    start)
+        rh_status_q && exit 0
+        $1
+        ;;
+    stop)
+        rh_status_q || exit 0
+        $1
+        ;;
+    restart)
+        $1
+        ;;
+    reload)
+        rh_status_q || exit 7
+        $1
+        ;;
+    force-reload)
+        force_reload
+        ;;
+    status)
+        rh_status
+        ;;
+    condrestart|try-restart)
+        rh_status_q || exit 0
+        restart
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+        exit 2
+esac
+exit $?
diff --git a/quantum-server.init b/quantum-server.init
new file mode 100644
index 0000000..0634a0f
--- /dev/null
+++ b/quantum-server.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# quantum  OpenStack Software Defined Networking Service
+#
+# chkconfig:   - 20 80
+# description: quantum provides an API to  \
+#		* request and configure virtual networks
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+prog=quantum
+exec="/usr/bin/$prog-server"
+config="/etc/$prog/$prog.conf"
+pidfile="/var/run/$prog/$prog.pid"
+logfile="/var/log/$prog/server.log"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog-server
+
+start() {
+    [ -x $exec ] || exit 5
+    [ -f $config ] || exit 6
+    echo -n $"Starting $prog: "
+    daemon --user quantum --pidfile $pidfile "$exec --config-file $config --log-file $logfile &>/dev/null & echo \$! > $pidfile"
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && touch $lockfile
+    return $retval
+}
+
+stop() {
+    echo -n $"Stopping $prog: "
+    killproc -p $pidfile $prog
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && rm -f $lockfile
+    return $retval
+}
+
+restart() {
+    stop
+    start
+}
+
+reload() {
+    restart
+}
+
+force_reload() {
+    restart
+}
+
+rh_status() {
+    status -p $pidfile $prog
+}
+
+rh_status_q() {
+    rh_status >/dev/null 2>&1
+}
+
+
+case "$1" in
+    start)
+        rh_status_q && exit 0
+        $1
+        ;;
+    stop)
+        rh_status_q || exit 0
+        $1
+        ;;
+    restart)
+        $1
+        ;;
+    reload)
+        rh_status_q || exit 7
+        $1
+        ;;
+    force-reload)
+        force_reload
+        ;;
+    status)
+        rh_status
+        ;;
+    condrestart|try-restart)
+        rh_status_q || exit 0
+        restart
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+        exit 2
+esac
+exit $?


More information about the scm-commits mailing list