summaryrefslogtreecommitdiff
path: root/packaging/common
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-09-05 14:38:34 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-09-05 14:38:34 +0100
commit291c28ba9d292a05020ec3ef353dc1adfb6bdacf (patch)
treebbd66d6d567616a61f1467b74dac419313c818df /packaging/common
parent0475dc41ed25c2e71c0f05e245d782dadb614e94 (diff)
downloadrabbitmq-server-git-291c28ba9d292a05020ec3ef353dc1adfb6bdacf.tar.gz
The custom seems to be to ensure the directory is created on startup.
Diffstat (limited to 'packaging/common')
-rw-r--r--packaging/common/rabbitmq-server.init10
-rwxr-xr-xpackaging/common/rabbitmq-server.ocf12
2 files changed, 21 insertions, 1 deletions
diff --git a/packaging/common/rabbitmq-server.init b/packaging/common/rabbitmq-server.init
index e2815f04c0..1bffc70365 100644
--- a/packaging/common/rabbitmq-server.init
+++ b/packaging/common/rabbitmq-server.init
@@ -34,12 +34,22 @@ test -x $CONTROL || exit 0
RETVAL=0
set -e
+ensure_pid_dir () {
+ PID_DIR=`dirname ${PID_FILE}`
+ if [ ! -d ${PID_DIR} ] ; then
+ mkdir -p ${PID_DIR}
+ chown -R ${USER}:${USER} ${PID_DIR}
+ chmod 755 ${PID_DIR}
+ fi
+}
+
start_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
echo RabbitMQ is currently running
else
RETVAL=0
+ ensure_pid_dir
set +e
setsid sh -c "RABBITMQ_PID_FILE=$PID_FILE $DAEMON > \
${INIT_LOG_DIR}/startup_log 2> ${INIT_LOG_DIR}/startup_err" &
diff --git a/packaging/common/rabbitmq-server.ocf b/packaging/common/rabbitmq-server.ocf
index 9b27c64494..a077ff161e 100755
--- a/packaging/common/rabbitmq-server.ocf
+++ b/packaging/common/rabbitmq-server.ocf
@@ -179,6 +179,16 @@ RABBITMQ_PID_FILE=$OCF_RESKEY_pid_file
[ ! -z $RABBITMQ_NODENAME ] && NODENAME_ARG="-n $RABBITMQ_NODENAME"
[ ! -z $RABBITMQ_NODENAME ] && export RABBITMQ_NODENAME
+ensure_pid_dir () {
+ PID_DIR=`dirname ${RABBITMQ_PID_FILE}`
+ if [ ! -d ${PID_DIR} ] ; then
+ mkdir -p ${PID_DIR}
+ chown -R rabbitmq:rabbitmq ${PID_DIR}
+ chmod 755 ${PID_DIR}
+ fi
+ return $OCF_SUCCESS
+}
+
export_vars() {
[ ! -z $RABBITMQ_NODE_IP_ADDRESS ] && export RABBITMQ_NODE_IP_ADDRESS
[ ! -z $RABBITMQ_NODE_PORT ] && export RABBITMQ_NODE_PORT
@@ -186,7 +196,7 @@ export_vars() {
[ ! -z $RABBITMQ_LOG_BASE ] && export RABBITMQ_LOG_BASE
[ ! -z $RABBITMQ_MNESIA_BASE ] && export RABBITMQ_MNESIA_BASE
[ ! -z $RABBITMQ_SERVER_START_ARGS ] && export RABBITMQ_SERVER_START_ARGS
- [ ! -z $RABBITMQ_PID_FILE ] && export RABBITMQ_PID_FILE
+ [ ! -z $RABBITMQ_PID_FILE ] && ensure_pid_dir && export RABBITMQ_PID_FILE
}
rabbit_validate_partial() {