diff options
author | Steve Powell <steve@rabbitmq.com> | 2012-02-03 15:34:38 +0000 |
---|---|---|
committer | Steve Powell <steve@rabbitmq.com> | 2012-02-03 15:34:38 +0000 |
commit | bde5f08b59a14856227d9a2bffb6dbf01ca6249d (patch) | |
tree | 35c47511cf0fbd653e983bd79f1e8651201b9f3d | |
parent | e63f34ead24e91834542f12114473d0a00d60f5d (diff) | |
download | rabbitmq-server-bug24721.tar.gz |
Defaults all centralised and isolated.bug24721
-rwxr-xr-x | scripts/rabbitmq-env | 56 | ||||
-rwxr-xr-x | scripts/rabbitmq-plugins | 9 | ||||
-rwxr-xr-x | scripts/rabbitmq-server | 40 | ||||
-rw-r--r-- | scripts/rabbitmq-sys | 9 | ||||
-rwxr-xr-x | scripts/rabbitmqctl | 9 |
5 files changed, 59 insertions, 64 deletions
diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env index dd7abd34..92c3b938 100755 --- a/scripts/rabbitmq-env +++ b/scripts/rabbitmq-env @@ -43,12 +43,60 @@ if [ ! -f ${SCRIPT_DIR}/rabbitmq-sys ]; then exit 1 fi -. ${SCRIPT_DIR}/rabbitmq-sys - -## Get configuration variables from the rabbitmq-env.conf file +## Get configuration variables from the rabbitmq-env.conf file and rabbitmq-sys if [ -f /etc/rabbitmq/rabbitmq.conf ] && \ [ ! -f /etc/rabbitmq/rabbitmq-env.conf ] ; then echo -n "WARNING: ignoring /etc/rabbitmq/rabbitmq.conf -- " echo "location has moved to /etc/rabbitmq/rabbitmq-env.conf" fi -[ -f /etc/rabbitmq/rabbitmq-env.conf ] && . /etc/rabbitmq/rabbitmq-env.conf + +if [ -f /etc/rabbitmq/rabbitmq-env.conf ] ; then + RABBITMQ_ENV_CONF_SETTINGS=`(. ${SCRIPT_DIR}/rabbitmq-sys; \ + . /etc/rabbitmq/rabbitmq-env.conf; set;)` +else + RABBITMQ_ENV_CONF_SETTINGS=`(. ${SCRIPT_DIR}/rabbitmq-sys; set;)` +fi + +setRabbitEnvVarWithDefault() +{ # Get value of var $2 from RABBITMQ_ENV_CONF_SETTINGS to set $1, only if $1 is empty + # $1 - var to set; $2 - var to use from RABBITMQ_ENV_CONF_SETTINGS + local $2; getRabbitEnvVar $2; applyDefault $1 $2 +} +getRabbitEnvVar() +{ # $1 - var to set + eval `echo "$RABBITMQ_ENV_CONF_SETTINGS" | grep "^$1"` +} +applyDefault() +{ # $1 - var to set; $2 - var with default value + [ -z "${!1}" ] && eval "$1="'"${!2}"' +} + +# use default value of $2 (obtained from RABBITMQ_ENV_CONF_SETTINGS) to set empty value of $1: +setRabbitEnvVarWithDefault RABBITMQ_NODE_IP_ADDRESS NODE_IP_ADDRESS +setRabbitEnvVarWithDefault RABBITMQ_NODE_PORT NODE_PORT +setRabbitEnvVarWithDefault RABBITMQ_NODENAME NODENAME +setRabbitEnvVarWithDefault RABBITMQ_SERVER_ERL_ARGS SERVER_ERL_ARGS +setRabbitEnvVarWithDefault RABBITMQ_CTL_ERL_ARGS CTL_ERL_ARGS +setRabbitEnvVarWithDefault RABBITMQ_CONFIG_FILE CONFIG_FILE +setRabbitEnvVarWithDefault RABBITMQ_LOG_BASE LOG_BASE +setRabbitEnvVarWithDefault RABBITMQ_MNESIA_BASE MNESIA_BASE +setRabbitEnvVarWithDefault RABBITMQ_SERVER_START_ARGS SERVER_START_ARGS +setRabbitEnvVarWithDefault RABBITMQ_MNESIA_DIR MNESIA_DIR +setRabbitEnvVarWithDefault RABBITMQ_PID_FILE PID_FILE +setRabbitEnvVarWithDefault RABBITMQ_PLUGINS_EXPAND_DIR PLUGINS_EXPAND_DIR +setRabbitEnvVarWithDefault RABBITMQ_ENABLED_PLUGINS_FILE ENABLED_PLUGINS_FILE +setRabbitEnvVarWithDefault RABBITMQ_PLUGINS_DIR PLUGINS_DIR +setRabbitEnvVarWithDefault RABBITMQ_LOGS LOGS +setRabbitEnvVarWithDefault RABBITMQ_SASL_LOGS SASL_LOGS + +# dependent default settings: +[ -z "$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME} +[ -z "$RABBITMQ_PID_FILE" ] && RABBITMQ_PID_FILE=${RABBITMQ_MNESIA_DIR}.pid +[ -z "$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME}-plugins-expand +[ -z "$RABBITMQ_LOGS" ] && RABBITMQ_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}.log" +[ -z "$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}-sasl.log" + +# inter-dependent defaults not user modifiable: +RABBITMQ_ENV_CONF_SETTINGS=`(. ${SCRIPT_DIR}/rabbitmq-sys; set;)` +[ -n "$RABBITMQ_NODE_PORT" ] && setRabbitEnvVarWithDefault RABBITMQ_NODE_IP_ADDRESS DEFAULT_NODE_IP_ADDRESS +[ -n "$RABBITMQ_NODE_IP_ADDRESS" ] && setRabbitEnvVarWithDefault RABBITMQ_NODE_PORT DEFAULT_NODE_PORT diff --git a/scripts/rabbitmq-plugins b/scripts/rabbitmq-plugins index 247cbfe2..05d86fd5 100755 --- a/scripts/rabbitmq-plugins +++ b/scripts/rabbitmq-plugins @@ -16,16 +16,9 @@ ## # Get default settings with user overrides for (RABBITMQ_)<var_name> -# Non-empty defaults should be set in rabbitmq-env +# All settings are obtained in rabbitmq-env . `dirname $0`/rabbitmq-env -##--- Set environment vars RABBITMQ_<var_name> to defaults if not set - -[ "x" = "x$RABBITMQ_ENABLED_PLUGINS_FILE" ] && RABBITMQ_ENABLED_PLUGINS_FILE=${ENABLED_PLUGINS_FILE} -[ "x" = "x$RABBITMQ_PLUGINS_DIR" ] && RABBITMQ_PLUGINS_DIR=${PLUGINS_DIR} - -##--- End of overridden <var_name> variables - exec erl \ -pa "${RABBITMQ_HOME}/ebin" \ -noinput \ diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index a191805f..b6265fcb 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -16,47 +16,9 @@ ## # Get default settings with user overrides for (RABBITMQ_)<var_name> -# Non-empty defaults should be set in rabbitmq-env +# All settings are obtained in rabbitmq-env . `dirname $0`/rabbitmq-env -##--- Set environment vars RABBITMQ_<var_name> to defaults if not set - -DEFAULT_NODE_IP_ADDRESS=auto -DEFAULT_NODE_PORT=5672 -[ "x" = "x$RABBITMQ_NODE_IP_ADDRESS" ] && RABBITMQ_NODE_IP_ADDRESS=${NODE_IP_ADDRESS} -[ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_PORT=${NODE_PORT} - -[ "x" = "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" != "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_IP_ADDRESS=${DEFAULT_NODE_IP_ADDRESS} -[ "x" != "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_PORT=${DEFAULT_NODE_PORT} - -[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME} -[ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_SERVER_ERL_ARGS=${SERVER_ERL_ARGS} -[ "x" = "x$RABBITMQ_CONFIG_FILE" ] && RABBITMQ_CONFIG_FILE=${CONFIG_FILE} -[ "x" = "x$RABBITMQ_LOG_BASE" ] && RABBITMQ_LOG_BASE=${LOG_BASE} -[ "x" = "x$RABBITMQ_MNESIA_BASE" ] && RABBITMQ_MNESIA_BASE=${MNESIA_BASE} -[ "x" = "x$RABBITMQ_SERVER_START_ARGS" ] && RABBITMQ_SERVER_START_ARGS=${SERVER_START_ARGS} - -[ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${MNESIA_DIR} -[ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME} - -[ "x" = "x$RABBITMQ_PID_FILE" ] && RABBITMQ_PID_FILE=${PID_FILE} -[ "x" = "x$RABBITMQ_PID_FILE" ] && RABBITMQ_PID_FILE=${RABBITMQ_MNESIA_DIR}.pid - -[ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR=${PLUGINS_EXPAND_DIR} -[ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME}-plugins-expand - -[ "x" = "x$RABBITMQ_ENABLED_PLUGINS_FILE" ] && RABBITMQ_ENABLED_PLUGINS_FILE=${ENABLED_PLUGINS_FILE} - -[ "x" = "x$RABBITMQ_PLUGINS_DIR" ] && RABBITMQ_PLUGINS_DIR=${PLUGINS_DIR} - -## Log rotation -[ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS=${LOGS} -[ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}.log" -[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS=${SASL_LOGS} -[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}-sasl.log" - -##--- End of overridden <var_name> variables - RABBITMQ_START_RABBIT= [ "x" = "x$RABBITMQ_ALLOW_INPUT" ] && RABBITMQ_START_RABBIT='-noinput' diff --git a/scripts/rabbitmq-sys b/scripts/rabbitmq-sys index c58341ef..2448ff1d 100644 --- a/scripts/rabbitmq-sys +++ b/scripts/rabbitmq-sys @@ -18,13 +18,12 @@ ## Set system default values SERVER_ERL_ARGS="+K true +A30 +P 1048576 \ -kernel inet_default_connect_options [{nodelay,true}]" - CONFIG_FILE=/etc/rabbitmq/rabbitmq - LOG_BASE=/var/log/rabbitmq - MNESIA_BASE=/var/lib/rabbitmq/mnesia - PLUGINS_DIR="${RABBITMQ_HOME}/plugins" - ENABLED_PLUGINS_FILE=/etc/rabbitmq/enabled_plugins + +## conditional system defaults +DEFAULT_NODE_IP_ADDRESS=auto +DEFAULT_NODE_PORT=5672 diff --git a/scripts/rabbitmqctl b/scripts/rabbitmqctl index 887eeac6..78926322 100755 --- a/scripts/rabbitmqctl +++ b/scripts/rabbitmqctl @@ -16,16 +16,9 @@ ## # Get default settings with user overrides for (RABBITMQ_)<var_name> -# Non-empty defaults should be set in rabbitmq-env +# All settings are obtained in rabbitmq-env . `dirname $0`/rabbitmq-env -##--- Set environment vars RABBITMQ_<var_name> to defaults if not set - -[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME} -[ "x" = "x$RABBITMQ_CTL_ERL_ARGS" ] && RABBITMQ_CTL_ERL_ARGS=${CTL_ERL_ARGS} - -##--- End of overridden <var_name> variables - exec erl \ -pa "${RABBITMQ_HOME}/ebin" \ -noinput \ |