Added patches init-scripts for kill services
[openstack-build/neutron-build.git] / rpm / SOURCES / neutron-server.init
index 36d792a8def9aea8eea95e3eb88d9f167e2dfd3a..d545b8180aeb8c2e4bc0c5ef4e19fd1b9856c894 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron  OpenStack Software Defined Networking Service
 #
 
 prog=neutron
 exec="/usr/bin/$prog-server"
-config="/etc/$prog/$prog.conf"
+configs=(
+    "/usr/share/$prog/$prog-dist.conf" \
+    "/etc/$prog/$prog.conf" \
+    "/etc/$prog/plugin.ini" \
+)
 pidfile="/var/run/$prog/$prog.pid"
 logfile="/var/log/$prog/server.log"
 
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog-server
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --config-file $config --config-file /etc/$prog/plugin.ini --log-file $logfile &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec ${configs[@]/#/--config-file } --log-file $logfile &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
@@ -33,6 +39,11 @@ start() {
 stop() {
     echo -n $"Stopping $prog: "
     killproc -p $pidfile $prog
+    if pgrep $prog-server &>/dev/null ; then
+        sleep 2
+        pgrep $prog-server &>/dev/null && \
+        killall $prog-server
+    fi
     retval=$?
     echo
     [ $retval -eq 0 ] && rm -f $lockfile