Accepting request 145495 from home:rhafer:branches:network:messaging:amqp
some init script and sysconfig cleanup, add OCF RA for use with pacemaker OBS-URL: https://build.opensuse.org/request/show/145495 OBS-URL: https://build.opensuse.org/package/show/network:messaging:amqp/rabbitmq-server?expand=0&rev=12
This commit is contained in:
parent
855bf0e4b9
commit
a9928b80e4
@ -29,7 +29,9 @@ cd /var/lib/rabbitmq
|
||||
|
||||
SCRIPT=`basename $0`
|
||||
|
||||
if [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then
|
||||
if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then
|
||||
/usr/lib/rabbitmq/bin/rabbitmq-server "$@" @STDOUT_STDERR_REDIRECTION@
|
||||
elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then
|
||||
/usr/lib/rabbitmq/bin/${SCRIPT} "$@"
|
||||
elif [ `id -u` = 0 ] ; then
|
||||
@SU_RABBITMQ_SH_C@ "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}"
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 14 13:11:56 UTC 2012 - rhafer@suse.com
|
||||
|
||||
- sysconfig file cleanup
|
||||
* remove unused Variables
|
||||
* removed variables which can also be set in rabbitmq-env.conf
|
||||
to avoid sysconfig settings overriding settings from the env
|
||||
file (bnc#771151)
|
||||
- Use rc.status functions in init script for prettier startup
|
||||
- Remove "set -e" from init script (bnc#768175)
|
||||
- Include OCF RA for use with Pacemaker
|
||||
- Updated script-wrapper to the latest upstream code
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 14 12:25:37 UTC 2012 - saschpe@suse.de
|
||||
|
||||
|
@ -16,6 +16,11 @@
|
||||
# Short-Description: Enable AMQP service provided by RabbitMQ broker
|
||||
### END INIT INFO
|
||||
|
||||
# Source function library
|
||||
. /etc/rc.status
|
||||
|
||||
rc_reset
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
NAME=rabbitmq-server
|
||||
DAEMON=/usr/sbin/${NAME}
|
||||
@ -43,24 +48,17 @@ fi
|
||||
mkdir -p /var/run/rabbitmq
|
||||
chown rabbitmq. /var/run/rabbitmq
|
||||
|
||||
RETVAL=0
|
||||
set -e
|
||||
|
||||
start_rabbitmq () {
|
||||
status_rabbitmq quiet
|
||||
if [ $RETVAL = 0 ] ; then
|
||||
echo RabbitMQ is currently running
|
||||
if [ $? -eq 0 ] ; then
|
||||
return 0
|
||||
else
|
||||
RETVAL=0
|
||||
set +e
|
||||
setsid sh -c "RABBITMQ_PID_FILE=$PID_FILE $DAEMON > \
|
||||
${INIT_LOG_DIR}/startup_log 2> ${INIT_LOG_DIR}/startup_err" &
|
||||
$CONTROL wait $PID_FILE >/dev/null 2>&1
|
||||
RETVAL=$?
|
||||
set -e
|
||||
case "$RETVAL" in
|
||||
rc=$?
|
||||
case "$rc" in
|
||||
0)
|
||||
echo SUCCESS
|
||||
if [ -n "$LOCK_FILE" ] ; then
|
||||
touch $LOCK_FILE
|
||||
fi
|
||||
@ -68,20 +66,19 @@ start_rabbitmq () {
|
||||
*)
|
||||
rm -f $PID_FILE
|
||||
echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
|
||||
RETVAL=1
|
||||
rc=1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
return $rc
|
||||
}
|
||||
|
||||
stop_rabbitmq () {
|
||||
status_rabbitmq quiet
|
||||
if [ $RETVAL = 0 ] ; then
|
||||
set +e
|
||||
if [ $? -eq 0 ] ; then
|
||||
$CONTROL stop > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
|
||||
RETVAL=$?
|
||||
set -e
|
||||
if [ $RETVAL = 0 ] ; then
|
||||
rc=$?
|
||||
if [ $rc -eq 0 ] ; then
|
||||
rm -f $PID_FILE
|
||||
if [ -n "$LOCK_FILE" ] ; then
|
||||
rm -f $LOCK_FILE
|
||||
@ -90,80 +87,79 @@ stop_rabbitmq () {
|
||||
echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
|
||||
fi
|
||||
else
|
||||
echo RabbitMQ is not running
|
||||
RETVAL=0
|
||||
rc=0
|
||||
fi
|
||||
return $rc
|
||||
}
|
||||
|
||||
status_rabbitmq() {
|
||||
set +e
|
||||
rc=0
|
||||
if [ "$1" != "quiet" ] ; then
|
||||
$CONTROL status 2>&1
|
||||
else
|
||||
$CONTROL status > /dev/null 2>&1
|
||||
fi
|
||||
if [ $? != 0 ] ; then
|
||||
RETVAL=3
|
||||
if [ $? -ne 0 ] ; then
|
||||
rc=3
|
||||
fi
|
||||
set -e
|
||||
return $rc
|
||||
}
|
||||
|
||||
rotate_logs_rabbitmq() {
|
||||
set +e
|
||||
rc=0
|
||||
$CONTROL rotate_logs ${ROTATE_SUFFIX}
|
||||
if [ $? != 0 ] ; then
|
||||
RETVAL=1
|
||||
rc=1
|
||||
fi
|
||||
set -e
|
||||
return $rc
|
||||
}
|
||||
|
||||
restart_running_rabbitmq () {
|
||||
status_rabbitmq quiet
|
||||
if [ $RETVAL = 0 ] ; then
|
||||
if [ $? -eq 0 ] ; then
|
||||
restart_rabbitmq
|
||||
else
|
||||
echo RabbitMQ is not runnning
|
||||
RETVAL=0
|
||||
fi
|
||||
}
|
||||
|
||||
restart_rabbitmq() {
|
||||
stop_rabbitmq
|
||||
start_rabbitmq
|
||||
$0 stop
|
||||
$0 start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
start_rabbitmq
|
||||
echo "$NAME."
|
||||
rc_status -v
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
stop_rabbitmq
|
||||
echo "$NAME."
|
||||
rc_status -v
|
||||
;;
|
||||
status)
|
||||
status_rabbitmq
|
||||
rc_status # no verbose here -- status function already prints status out
|
||||
;;
|
||||
rotate-logs)
|
||||
echo -n "Rotating log files for $DESC: "
|
||||
rotate_logs_rabbitmq
|
||||
rc_status
|
||||
;;
|
||||
force-reload|reload|restart)
|
||||
echo -n "Restarting $DESC: "
|
||||
restart_rabbitmq
|
||||
echo "$NAME."
|
||||
rc_status
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
echo -n "Restarting $DESC: "
|
||||
restart_running_rabbitmq
|
||||
echo "$NAME."
|
||||
rc_status
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
|
||||
RETVAL=1
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
rc_exit
|
||||
|
371
rabbitmq-server.ocf
Normal file
371
rabbitmq-server.ocf
Normal file
@ -0,0 +1,371 @@
|
||||
#!/bin/sh
|
||||
## The contents of this file are subject to the Mozilla Public License
|
||||
## Version 1.1 (the "License"); you may not use this file except in
|
||||
## compliance with the License. You may obtain a copy of the License
|
||||
## at http://www.mozilla.org/MPL/
|
||||
##
|
||||
## Software distributed under the License is distributed on an "AS IS"
|
||||
## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
|
||||
## the License for the specific language governing rights and
|
||||
## limitations under the License.
|
||||
##
|
||||
## The Original Code is RabbitMQ.
|
||||
##
|
||||
## The Initial Developer of the Original Code is VMware, Inc.
|
||||
## Copyright (c) 2007-2012 VMware, Inc. All rights reserved.
|
||||
##
|
||||
|
||||
##
|
||||
## OCF Resource Agent compliant rabbitmq-server resource script.
|
||||
##
|
||||
|
||||
## OCF instance parameters
|
||||
## OCF_RESKEY_server
|
||||
## OCF_RESKEY_ctl
|
||||
## OCF_RESKEY_nodename
|
||||
## OCF_RESKEY_ip
|
||||
## OCF_RESKEY_port
|
||||
## OCF_RESKEY_config_file
|
||||
## OCF_RESKEY_log_base
|
||||
## OCF_RESKEY_mnesia_base
|
||||
## OCF_RESKEY_server_start_args
|
||||
## OCF_RESKEY_pid_file
|
||||
|
||||
#######################################################################
|
||||
# Initialization:
|
||||
|
||||
: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/resource.d/heartbeat}
|
||||
. ${OCF_FUNCTIONS_DIR}/.ocf-shellfuncs
|
||||
|
||||
#######################################################################
|
||||
|
||||
OCF_RESKEY_server_default="/usr/sbin/rabbitmq-server"
|
||||
OCF_RESKEY_ctl_default="/usr/sbin/rabbitmqctl"
|
||||
OCF_RESKEY_nodename_default="rabbit@localhost"
|
||||
OCF_RESKEY_log_base_default="/var/log/rabbitmq"
|
||||
OCF_RESKEY_pid_file_default="/var/run/rabbitmq/pid"
|
||||
: ${OCF_RESKEY_server=${OCF_RESKEY_server_default}}
|
||||
: ${OCF_RESKEY_ctl=${OCF_RESKEY_ctl_default}}
|
||||
: ${OCF_RESKEY_nodename=${OCF_RESKEY_nodename_default}}
|
||||
: ${OCF_RESKEY_log_base=${OCF_RESKEY_log_base_default}}
|
||||
: ${OCF_RESKEY_pid_file=${OCF_RESKEY_pid_file_default}}
|
||||
|
||||
meta_data() {
|
||||
cat <<END
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
|
||||
<resource-agent name="rabbitmq-server">
|
||||
<version>1.0</version>
|
||||
|
||||
<longdesc lang="en">
|
||||
Resource agent for RabbitMQ-server
|
||||
</longdesc>
|
||||
|
||||
<shortdesc lang="en">Resource agent for RabbitMQ-server</shortdesc>
|
||||
|
||||
<parameters>
|
||||
<parameter name="server" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
The path to the rabbitmq-server script
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Path to rabbitmq-server</shortdesc>
|
||||
<content type="string" default="${OCF_RESKEY_server_default}" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="ctl" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
The path to the rabbitmqctl script
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Path to rabbitmqctl</shortdesc>
|
||||
<content type="string" default="${OCF_RESKEY_ctl_default}" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="nodename" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
The node name for rabbitmq-server
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Node name</shortdesc>
|
||||
<content type="string" default="${OCF_RESKEY_nodename_default}" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="ip" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
The IP address for rabbitmq-server to listen on
|
||||
</longdesc>
|
||||
<shortdesc lang="en">IP Address</shortdesc>
|
||||
<content type="string" default="" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="port" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
The IP Port for rabbitmq-server to listen on
|
||||
</longdesc>
|
||||
<shortdesc lang="en">IP Port</shortdesc>
|
||||
<content type="integer" default="" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="config_file" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
Location of the config file (without the .config suffix)
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Config file path (without the .config suffix)</shortdesc>
|
||||
<content type="string" default="" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="log_base" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
Location of the directory under which logs will be created
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Log base path</shortdesc>
|
||||
<content type="string" default="${OCF_RESKEY_log_base_default}" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="mnesia_base" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
Location of the directory under which mnesia will store data
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Mnesia base path</shortdesc>
|
||||
<content type="string" default="" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="server_start_args" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
Additional arguments provided to the server on startup
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Server start arguments</shortdesc>
|
||||
<content type="string" default="" />
|
||||
</parameter>
|
||||
|
||||
<parameter name="pid_file" unique="0" required="0">
|
||||
<longdesc lang="en">
|
||||
Location of the file in which the pid will be stored
|
||||
</longdesc>
|
||||
<shortdesc lang="en">Pid file path</shortdesc>
|
||||
<content type="string" default="${OCF_RESKEY_pid_file_default}" />
|
||||
</parameter>
|
||||
|
||||
</parameters>
|
||||
|
||||
<actions>
|
||||
<action name="start" timeout="600" />
|
||||
<action name="stop" timeout="120" />
|
||||
<action name="status" timeout="20" interval="10" />
|
||||
<action name="monitor" timeout="20" interval="10" />
|
||||
<action name="validate-all" timeout="30" />
|
||||
<action name="meta-data" timeout="5" />
|
||||
</actions>
|
||||
</resource-agent>
|
||||
END
|
||||
}
|
||||
|
||||
rabbit_usage() {
|
||||
cat <<END
|
||||
usage: $0 {start|stop|status|monitor|validate-all|meta-data}
|
||||
|
||||
Expects to have a fully populated OCF RA-compliant environment set.
|
||||
END
|
||||
}
|
||||
|
||||
RABBITMQ_SERVER=$OCF_RESKEY_server
|
||||
RABBITMQ_CTL=$OCF_RESKEY_ctl
|
||||
RABBITMQ_NODENAME=$OCF_RESKEY_nodename
|
||||
RABBITMQ_NODE_IP_ADDRESS=$OCF_RESKEY_ip
|
||||
RABBITMQ_NODE_PORT=$OCF_RESKEY_port
|
||||
RABBITMQ_CONFIG_FILE=$OCF_RESKEY_config_file
|
||||
RABBITMQ_LOG_BASE=$OCF_RESKEY_log_base
|
||||
RABBITMQ_MNESIA_BASE=$OCF_RESKEY_mnesia_base
|
||||
RABBITMQ_SERVER_START_ARGS=$OCF_RESKEY_server_start_args
|
||||
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
|
||||
}
|
||||
|
||||
remove_pid () {
|
||||
rm -f ${RABBITMQ_PID_FILE}
|
||||
rmdir `dirname ${RABBITMQ_PID_FILE}` || :
|
||||
}
|
||||
|
||||
export_vars() {
|
||||
[ ! -z $RABBITMQ_NODE_IP_ADDRESS ] && export RABBITMQ_NODE_IP_ADDRESS
|
||||
[ ! -z $RABBITMQ_NODE_PORT ] && export RABBITMQ_NODE_PORT
|
||||
[ ! -z $RABBITMQ_CONFIG_FILE ] && export RABBITMQ_CONFIG_FILE
|
||||
[ ! -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 ] && ensure_pid_dir && export RABBITMQ_PID_FILE
|
||||
}
|
||||
|
||||
rabbit_validate_partial() {
|
||||
if [ ! -x $RABBITMQ_SERVER ]; then
|
||||
ocf_log err "rabbitmq-server server $RABBITMQ_SERVER does not exist or is not executable";
|
||||
exit $OCF_ERR_INSTALLED;
|
||||
fi
|
||||
|
||||
if [ ! -x $RABBITMQ_CTL ]; then
|
||||
ocf_log err "rabbitmq-server ctl $RABBITMQ_CTL does not exist or is not executable";
|
||||
exit $OCF_ERR_INSTALLED;
|
||||
fi
|
||||
}
|
||||
|
||||
rabbit_validate_full() {
|
||||
if [ ! -z $RABBITMQ_CONFIG_FILE ] && [ ! -e "${RABBITMQ_CONFIG_FILE}.config" ]; then
|
||||
ocf_log err "rabbitmq-server config_file ${RABBITMQ_CONFIG_FILE}.config does not exist or is not a file";
|
||||
exit $OCF_ERR_INSTALLED;
|
||||
fi
|
||||
|
||||
if [ ! -z $RABBITMQ_LOG_BASE ] && [ ! -d $RABBITMQ_LOG_BASE ]; then
|
||||
ocf_log err "rabbitmq-server log_base $RABBITMQ_LOG_BASE does not exist or is not a directory";
|
||||
exit $OCF_ERR_INSTALLED;
|
||||
fi
|
||||
|
||||
if [ ! -z $RABBITMQ_MNESIA_BASE ] && [ ! -d $RABBITMQ_MNESIA_BASE ]; then
|
||||
ocf_log err "rabbitmq-server mnesia_base $RABBITMQ_MNESIA_BASE does not exist or is not a directory";
|
||||
exit $OCF_ERR_INSTALLED;
|
||||
fi
|
||||
|
||||
rabbit_validate_partial
|
||||
|
||||
return $OCF_SUCCESS
|
||||
}
|
||||
|
||||
rabbit_status() {
|
||||
rabbitmqctl_action "status"
|
||||
}
|
||||
|
||||
rabbit_wait() {
|
||||
rabbitmqctl_action "wait" $1
|
||||
}
|
||||
|
||||
rabbitmqctl_action() {
|
||||
local rc
|
||||
local action
|
||||
action=$@
|
||||
$RABBITMQ_CTL $NODENAME_ARG $action > /dev/null 2> /dev/null
|
||||
rc=$?
|
||||
case "$rc" in
|
||||
0)
|
||||
ocf_log debug "RabbitMQ server is running normally"
|
||||
return $OCF_SUCCESS
|
||||
;;
|
||||
2)
|
||||
ocf_log debug "RabbitMQ server is not running"
|
||||
return $OCF_NOT_RUNNING
|
||||
;;
|
||||
*)
|
||||
ocf_log err "Unexpected return from rabbitmqctl $NODENAME_ARG $action: $rc"
|
||||
exit $OCF_ERR_GENERIC
|
||||
esac
|
||||
}
|
||||
|
||||
rabbit_start() {
|
||||
local rc
|
||||
|
||||
if rabbit_status; then
|
||||
ocf_log info "Resource already running."
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
|
||||
export_vars
|
||||
|
||||
setsid sh -c "$RABBITMQ_SERVER > ${RABBITMQ_LOG_BASE}/startup_log 2> ${RABBITMQ_LOG_BASE}/startup_err" &
|
||||
|
||||
# Wait for the server to come up.
|
||||
# Let the CRM/LRM time us out if required
|
||||
rabbit_wait $RABBITMQ_PID_FILE
|
||||
rc=$?
|
||||
if [ "$rc" != $OCF_SUCCESS ]; then
|
||||
remove_pid
|
||||
ocf_log info "rabbitmq-server start failed: $rc"
|
||||
exit $OCF_ERR_GENERIC
|
||||
fi
|
||||
|
||||
return $OCF_SUCCESS
|
||||
}
|
||||
|
||||
rabbit_stop() {
|
||||
local rc
|
||||
|
||||
if ! rabbit_status; then
|
||||
ocf_log info "Resource not running."
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
|
||||
$RABBITMQ_CTL stop
|
||||
rc=$?
|
||||
|
||||
if [ "$rc" != 0 ]; then
|
||||
ocf_log err "rabbitmq-server stop command failed: $RABBITMQ_CTL stop, $rc"
|
||||
return $rc
|
||||
fi
|
||||
|
||||
# Spin waiting for the server to shut down.
|
||||
# Let the CRM/LRM time us out if required
|
||||
stop_wait=1
|
||||
while [ $stop_wait = 1 ]; do
|
||||
rabbit_status
|
||||
rc=$?
|
||||
if [ "$rc" = $OCF_NOT_RUNNING ]; then
|
||||
remove_pid
|
||||
stop_wait=0
|
||||
break
|
||||
elif [ "$rc" != $OCF_SUCCESS ]; then
|
||||
ocf_log info "rabbitmq-server stop failed: $rc"
|
||||
exit $OCF_ERR_GENERIC
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
return $OCF_SUCCESS
|
||||
}
|
||||
|
||||
rabbit_monitor() {
|
||||
rabbit_status
|
||||
return $?
|
||||
}
|
||||
|
||||
case $__OCF_ACTION in
|
||||
meta-data)
|
||||
meta_data
|
||||
exit $OCF_SUCCESS
|
||||
;;
|
||||
usage|help)
|
||||
rabbit_usage
|
||||
exit $OCF_SUCCESS
|
||||
;;
|
||||
esac
|
||||
|
||||
if ocf_is_probe; then
|
||||
rabbit_validate_partial
|
||||
else
|
||||
rabbit_validate_full
|
||||
fi
|
||||
|
||||
case $__OCF_ACTION in
|
||||
start)
|
||||
rabbit_start
|
||||
;;
|
||||
stop)
|
||||
rabbit_stop
|
||||
;;
|
||||
status|monitor)
|
||||
rabbit_monitor
|
||||
;;
|
||||
validate-all)
|
||||
exit $OCF_SUCCESS
|
||||
;;
|
||||
*)
|
||||
rabbit_usage
|
||||
exit $OCF_ERR_UNIMPLEMENTED
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $?
|
@ -32,8 +32,10 @@ Group: System/Daemons
|
||||
Url: http://www.rabbitmq.com/
|
||||
Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: rabbitmq-server.init
|
||||
# This comes from: http://hg.rabbitmq.com/rabbitmq-server/raw-file/2da625c0a436/packaging/common/rabbitmq-script-wrapper
|
||||
Source2: rabbitmq-script-wrapper
|
||||
Source3: rabbitmq-server.logrotate
|
||||
Source4: rabbitmq-server.ocf
|
||||
Source5: rabbitmq-server.sysconfig
|
||||
Patch0: no-nmap.patch
|
||||
Patch1: no-remove-common.patch
|
||||
@ -112,12 +114,15 @@ install -p -D -m 644 %{SOURCE5} %{buildroot}%{_localstatedir}/adm/fillup-templat
|
||||
|
||||
# Install wrapper scripts
|
||||
%define _rabbit_wrapper %{_builddir}/`basename %{SOURCE2}`
|
||||
%define _rabbit_server_ocf %{_builddir}/`basename %{SOURCE4}`
|
||||
cp %{SOURCE2} %{_rabbit_wrapper}
|
||||
sed -i 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' %{_rabbit_wrapper}
|
||||
sed -i 's|/usr/lib/|%{_libdir}/|' %{_rabbit_wrapper}
|
||||
cp %{SOURCE4} %{_rabbit_server_ocf}
|
||||
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmqctl
|
||||
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-server
|
||||
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-plugins
|
||||
install -p -D -m 0755 %{_rabbit_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
|
||||
|
||||
# Copy all necessary lib files etc.
|
||||
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
|
||||
@ -173,6 +178,9 @@ exit 0
|
||||
%{_rabbit_erllibdir}
|
||||
%{_initddir}/rabbitmq-server
|
||||
%{_sbindir}/rcrabbitmq-server
|
||||
%dir /usr/lib/ocf
|
||||
%dir /usr/lib/ocf/resource.d
|
||||
%dir /usr/lib/ocf/resource.d/rabbitmq
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
|
||||
%doc LICENSE* README
|
||||
%dir %{_rabbit_erllibdir}/plugins
|
||||
|
@ -1,10 +1,3 @@
|
||||
## Type: integer
|
||||
## Default: 1
|
||||
#
|
||||
# Defines how many rabbitmq nodes to start
|
||||
#
|
||||
NODE_COUNT="1"
|
||||
|
||||
## Type: string
|
||||
## Default: ""
|
||||
#
|
||||
@ -18,58 +11,3 @@ ROTATE_SUFFIX=""
|
||||
# Defines the location of the log files
|
||||
#
|
||||
INIT_LOG_DIR="/var/log/rabbitmq"
|
||||
|
||||
## Type: string
|
||||
## Default: "/var/lib/rabbitmq/mnesia"
|
||||
#
|
||||
# Set this to the directory where Mnesia database files should be placed.
|
||||
#
|
||||
RABBITMQ_MNESIA_BASE="/var/lib/rabbitmq/mnesia"
|
||||
|
||||
## Type: string
|
||||
## Default: "/var/log/rabbitmq"
|
||||
#
|
||||
# Log files generated by the server will be placed in this directory.
|
||||
#
|
||||
RABBITMQ_LOG_BASE="/var/log/rabbitmq"
|
||||
|
||||
## Type: string
|
||||
## Default: "rabbit"
|
||||
#
|
||||
# This can be useful if you want to run more than one node per machine -
|
||||
# RABBITMQ_NODENAME should be unique per erlang-node-and-machine
|
||||
# combination. See clustering on a single machine for more.
|
||||
#
|
||||
RABBITMQ_NODENAME="rabbit"
|
||||
|
||||
## Type: string
|
||||
## Default: "0.0.0.0"
|
||||
#
|
||||
# This can be changed if you only want to bind to one network interface.
|
||||
#
|
||||
RABBITMQ_NODE_IP_ADDRESS="0.0.0.0"
|
||||
|
||||
## Type: integer
|
||||
## Default: 5672
|
||||
#
|
||||
# This can be changed if you want to listen on a non-standard port.
|
||||
#
|
||||
RABBITMQ_NODE_PORT="5672"
|
||||
|
||||
## Type: string
|
||||
## Default: "/etc/rabbitmq/rabbitmq_cluster.config"
|
||||
#
|
||||
# If this file is present it is used by the server to auto-configure a
|
||||
# RabbitMQ cluster. See the clustering guide for details.
|
||||
#
|
||||
RABBITMQ_CLUSTER_CONFIG_FILE="/etc/rabbitmq/rabbitmq_cluster.config"
|
||||
|
||||
## Type: string
|
||||
## Default: "/etc/rabbitmq/rabbitmq"
|
||||
#
|
||||
# If this file is present it is used by the server to configure RabbitMQ
|
||||
# application components. Note that the .config extension is automatically
|
||||
# appended by the Erlang runtime. See the section on the configuration file
|
||||
# for details.
|
||||
#
|
||||
RABBITMQ_CONFIG_FILE="/etc/rabbitmq/rabbitmq"
|
||||
|
Loading…
x
Reference in New Issue
Block a user