summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server')
-rw-r--r--meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server174
1 files changed, 174 insertions, 0 deletions
diff --git a/meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server b/meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server
new file mode 100644
index 0000000..38718ea
--- /dev/null
+++ b/meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server
@@ -0,0 +1,174 @@
1#!/bin/sh
2#
3# rabbitmq-server RabbitMQ broker
4#
5# chkconfig: - 80 05
6# description: Enable AMQP service provided by RabbitMQ
7#
8
9### BEGIN INIT INFO
10# Provides: rabbitmq-server
11# Required-Start: $remote_fs $network
12# Required-Stop: $remote_fs $network
13# Default-Start: 2 3 4 5
14# Default-Stop: 0 1 6
15# Description: RabbitMQ broker
16# Short-Description: Enable AMQP service provided by RabbitMQ broker
17### END INIT INFO
18
19DAEMON=/usr/bin/rabbitmq-server
20CONTROL=/usr/bin/rabbitmqctl
21USER=root
22ROTATE_SUFFIX=
23INIT_LOG_DIR=/var/log/rabbitmq
24PID_FILE=/var/run/rabbitmq/pid
25
26LOCK_FILE=
27
28test -x $DAEMON || exit 0
29test -x $CONTROL || exit 0
30
31RETVAL=0
32set -e
33
34ensure_pid_dir () {
35 PID_DIR=`dirname ${PID_FILE}`
36 if [ ! -d ${PID_DIR} ] ; then
37 mkdir -p ${PID_DIR}
38 chown -R ${USER}:${USER} ${PID_DIR}
39 chmod 755 ${PID_DIR}
40 fi
41}
42
43remove_pid () {
44 rm -f ${PID_FILE}
45 rmdir `dirname ${PID_FILE}` || :
46}
47
48start_rabbitmq () {
49 status_rabbitmq quiet
50 if [ $RETVAL = 0 ] ; then
51 echo RabbitMQ is currently running
52 else
53 RETVAL=0
54 ensure_pid_dir
55 set +e
56 RABBITMQ_PID_FILE=$PID_FILE start-stop-daemon --pidfile=$PID_FILE --exec $DAEMON --background --start
57 $CONTROL wait $PID_FILE >/dev/null 2>&1
58 RETVAL=$?
59 set -e
60 case "$RETVAL" in
61 0)
62 echo SUCCESS
63 if [ -n "$LOCK_FILE" ] ; then
64 touch $LOCK_FILE
65 fi
66 echo "`date` - rabbitmq successfully started" >> ${INIT_LOG_DIR}/startup_log
67 # only emit the event on boot
68 [ -n "$UPSTART_JOB" ] && initctl emit --no-wait rabbitmq-server-running || true
69 ;;
70 *)
71 remove_pid
72 echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
73 echo "`date` - rabbitmq failed to start" >> ${INIT_LOG_DIR}/startup_err
74 RETVAL=1
75 ;;
76 esac
77 fi
78}
79
80stop_rabbitmq () {
81 status_rabbitmq quiet
82 if [ $RETVAL = 0 ] ; then
83 set +e
84 start-stop-daemon --pidfile=$PID_FILE --stop
85 RETVAL=$?
86 set -e
87 if [ $RETVAL = 0 ] ; then
88 remove_pid
89 if [ -n "$LOCK_FILE" ] ; then
90 rm -f $LOCK_FILE
91 fi
92 echo "`date` - rabbitmq successfully stopped" >> ${INIT_LOG_DIR}/shutdown_log
93 else
94 echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
95 echo "`date` - rabbitmq failed to stop" >> ${INIT_LOG_DIR}/shutdown_err
96 fi
97 else
98 echo RabbitMQ is not running
99 RETVAL=0
100 fi
101}
102
103status_rabbitmq() {
104 set +e
105 if [ "$1" != "quiet" ] ; then
106 $CONTROL status 2>&1
107 else
108 $CONTROL status > /dev/null 2>&1
109 fi
110 if [ $? != 0 ] ; then
111 RETVAL=3
112 fi
113 set -e
114}
115
116rotate_logs_rabbitmq() {
117 set +e
118 $CONTROL rotate_logs ${ROTATE_SUFFIX}
119 if [ $? != 0 ] ; then
120 RETVAL=1
121 fi
122 set -e
123}
124
125restart_running_rabbitmq () {
126 status_rabbitmq quiet
127 if [ $RETVAL = 0 ] ; then
128 restart_rabbitmq
129 else
130 echo RabbitMQ is not runnning
131 RETVAL=0
132 fi
133}
134
135restart_rabbitmq() {
136 stop_rabbitmq
137 start_rabbitmq
138}
139
140case "$1" in
141 start)
142 echo -n "Starting $DESC: "
143 start_rabbitmq
144 echo "$NAME."
145 ;;
146 stop)
147 echo -n "Stopping $DESC: "
148 stop_rabbitmq
149 echo "$NAME."
150 ;;
151 status)
152 status_rabbitmq
153 ;;
154 rotate-logs)
155 echo -n "Rotating log files for $DESC: "
156 rotate_logs_rabbitmq
157 ;;
158 force-reload|reload|restart)
159 echo -n "Restarting $DESC: "
160 restart_rabbitmq
161 echo "$NAME."
162 ;;
163 try-restart)
164 echo -n "Restarting $DESC: "
165 restart_running_rabbitmq
166 echo "$NAME."
167 ;;
168 *)
169 echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
170 RETVAL=1
171 ;;
172esac
173
174exit $RETVAL