Added mcollective 2.3.1 package
[packages/trusty/mcollective.git] / mcollective.init
diff --git a/mcollective.init b/mcollective.init
new file mode 100644 (file)
index 0000000..6b02d0b
--- /dev/null
@@ -0,0 +1,85 @@
+#!/bin/sh
+#
+# mcollective   Application Server for STOMP based agents
+#
+#
+# description:  mcollective lets you build powerful Stomp compatible middleware clients in ruby without having to worry too
+#               much about all the setup and management of a Stomp connection, it also provides stats, logging and so forth
+#               as a bonus.
+#
+### BEGIN INIT INFO
+# Provides:          mcollective
+# Required-Start:    $remote_fs
+# Required-Stop:     $remote_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start daemon at boot time
+# Description:       Enable service provided by mcollective.
+### END INIT INFO
+
+# check permissions
+
+uid=`id -u`
+[ $uid -gt 0 ] && { echo "You need to be root to run file" ; exit 4 ; }
+
+
+# PID directory
+pidfile="/var/run/mcollective.pid"
+
+name="mcollective"
+mcollectived=/usr/sbin/mcollectived
+daemonopts="--config=/etc/mcollective/server.cfg"
+
+
+# Source function library.
+. /lib/lsb/init-functions
+
+# Check that binary exists
+if ! [ -f $mcollectived ]
+then
+    echo "mcollectived binary not found"
+    exit 5
+fi
+
+# See how we were called.
+case "$1" in
+    start)
+        echo "Starting daemon: " $name
+        # start the program
+       if [ -f $pidfile ]; then
+               if [ -f $(cat /proc/$(cat $pidfile)/exe > /dev/null) ] ; then
+                       echo MCollective appears to be running
+                       exit 1
+               else
+                       /sbin/start-stop-daemon --start -b --quiet --oknodo -m --pidfile $pidfile --exec $mcollectived -- $daemonopts
+               [ $? = 0 ] && { exit 0 ; } || { exit 1 ; }
+               fi
+       else
+               /sbin/start-stop-daemon --start -b --quiet --oknodo -m --pidfile $pidfile --exec $mcollectived -- $daemonopts
+       fi
+        log_success_msg "mcollective started"
+        ;;
+    stop)
+        echo "Stopping daemon: " $name
+        /sbin/start-stop-daemon --stop -q --pidfile $pidfile
+       if [ -f $pidfile ]; then
+               rm -f $pidfile
+       fi
+        [ $? = 0 ] && { exit 0 ; } || { exit 1 ; }
+        log_success_msg "mcollective stopped"
+        ;;
+    restart)
+        echo "Restarting daemon: " $name
+        $0 stop
+        sleep 2
+        $0 start
+        [ $? = 0 ] && { echo "mcollective restarted" ; exit 0 ; }
+        ;;
+    status)
+        status_of_proc -p ${pidfile} ${mcollectived} ${name} && exit 0 || exit $?
+        ;;
+    *)
+        echo "Usage: mcollectived {start|stop|restart|condrestart|status}"
+        exit 2
+        ;;
+esac