|
|
@@ -0,0 +1,145 @@
|
|
|
+#!/bin/sh
|
|
|
+#
|
|
|
+# openais Start the openais cluster service
|
|
|
+#
|
|
|
+# Author: Andrew Beekhof <abeekhof@suse.de>
|
|
|
+# License: Revised BSD
|
|
|
+#
|
|
|
+# chkconfig: - 20 20
|
|
|
+# processname: aisexec
|
|
|
+# description: OpenAIS daemon
|
|
|
+#
|
|
|
+### BEGIN INIT INFO
|
|
|
+# Description: openais....
|
|
|
+#
|
|
|
+# Short-Description: openais cluster services.
|
|
|
+# Provides: openais
|
|
|
+# Required-Start: $network
|
|
|
+# Should-Start: $syslog
|
|
|
+# Required-Stop: $network
|
|
|
+# Default-Start: 3 5
|
|
|
+# Default-Stop: 0 6
|
|
|
+### END INIT INFO
|
|
|
+
|
|
|
+do_force=0
|
|
|
+prog="aisexec"
|
|
|
+lockfile="/var/lock/subsys/$prog"
|
|
|
+
|
|
|
+internal_status() {
|
|
|
+ killall -0 aisexec > /dev/null 2>&1
|
|
|
+ return $?
|
|
|
+}
|
|
|
+
|
|
|
+status() {
|
|
|
+ if
|
|
|
+ ! internal_status
|
|
|
+ then
|
|
|
+ echo "Stopped"
|
|
|
+ return 7
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo "Running"
|
|
|
+ return 0
|
|
|
+}
|
|
|
+
|
|
|
+start() {
|
|
|
+ echo -n $"Starting OpenAIS daemon ($prog): "
|
|
|
+ if
|
|
|
+ ! internal_status
|
|
|
+ then
|
|
|
+ echo -n "starting... "
|
|
|
+ $prog 2>&1 > /dev/null 2>&1
|
|
|
+ echo -n "rc=$?: "
|
|
|
+ fi
|
|
|
+
|
|
|
+ sleep 2 # give it time to fail... $? isn't definitive
|
|
|
+
|
|
|
+ if
|
|
|
+ internal_status
|
|
|
+ then
|
|
|
+ echo "OK"
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo "Failed"
|
|
|
+ return 1
|
|
|
+}
|
|
|
+
|
|
|
+do_force=0
|
|
|
+do_forever=1
|
|
|
+
|
|
|
+stop() {
|
|
|
+ echo -n $"Stopping OpenAIS daemon ($prog): "
|
|
|
+
|
|
|
+ killall -QUIT aisexec
|
|
|
+
|
|
|
+ if [ $do_forever = 0 ]; then
|
|
|
+ for i in 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20; do
|
|
|
+ if
|
|
|
+ internal_status
|
|
|
+ then
|
|
|
+ sleep 2
|
|
|
+ echo -n "."
|
|
|
+ else
|
|
|
+ rm -f "$lockfile"
|
|
|
+ echo "OK"
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+ done
|
|
|
+
|
|
|
+ if [ $do_force = 1 ]; then
|
|
|
+ echo -n "Escalating... "
|
|
|
+ killall -KILL aisexec
|
|
|
+ sleep 5
|
|
|
+
|
|
|
+ if
|
|
|
+ ! internal_status
|
|
|
+ then
|
|
|
+ rm -f "$lockfile"
|
|
|
+ echo "OK"
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo "Failed"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ while
|
|
|
+ internal_status
|
|
|
+ do
|
|
|
+ sleep 1
|
|
|
+ echo -n "."
|
|
|
+ done
|
|
|
+
|
|
|
+ rm -f "$lockfile"
|
|
|
+ echo "OK"
|
|
|
+ return 0
|
|
|
+}
|
|
|
+
|
|
|
+restart() {
|
|
|
+ stop
|
|
|
+ start
|
|
|
+}
|
|
|
+
|
|
|
+case "$1" in
|
|
|
+ start|stop|restart)
|
|
|
+ $1
|
|
|
+ ;;
|
|
|
+ force-stop)
|
|
|
+ do_force=1
|
|
|
+ stop
|
|
|
+ ;;
|
|
|
+ reload|force-reload)
|
|
|
+ restart
|
|
|
+ ;;
|
|
|
+ condrestart|try-restart)
|
|
|
+ [ ! -f "$lockfile" ] || restart
|
|
|
+ ;;
|
|
|
+ status)
|
|
|
+ status $prog
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ echo $"Usage: $0 {start|stop|restart|try-restart|condrestart|reload|force-reload|force-stop|status}"
|
|
|
+ exit 2
|
|
|
+esac
|