[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