summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-02-09 14:35:47 +0000
committerDaniil Fedotov <dfedotov@pivotal.io>2016-02-09 14:35:47 +0000
commitfbb49b43fd6a3472fffb6ad7f0ecea94a4727926 (patch)
treef638ac304e5f0006311ebe17c9a7648baad771e7
parentbbaf22bd1fe2397dd0f97cf2fcde84db42e62837 (diff)
downloadrabbitmq-server-git-fbb49b43fd6a3472fffb6ad7f0ecea94a4727926.tar.gz
Additional config gile
-rw-r--r--scripts/rabbitmq-defaults1
-rw-r--r--scripts/rabbitmq-defaults.bat1
-rwxr-xr-xscripts/rabbitmq-server5
-rw-r--r--scripts/rabbitmq-server.bat5
-rw-r--r--scripts/rabbitmq-service.bat8
-rw-r--r--scripts/rabbitmq.schema6
-rw-r--r--src/rabbit_config.erl38
7 files changed, 49 insertions, 15 deletions
diff --git a/scripts/rabbitmq-defaults b/scripts/rabbitmq-defaults
index e74c0da115..b5427eee46 100644
--- a/scripts/rabbitmq-defaults
+++ b/scripts/rabbitmq-defaults
@@ -39,6 +39,7 @@ LOG_BASE=${SYS_PREFIX}/var/log/rabbitmq
MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia
ENABLED_PLUGINS_FILE=${SYS_PREFIX}/etc/rabbitmq/enabled_plugins
GENERATED_CONFIG_DIR=${SYS_PREFIX}/var/lib/rabbitmq/config
+RABBITMQ_CONFIG_ADDITIONAL=${SYS_PREFIX}/etc/rabbitmq/additional
PLUGINS_DIR="${RABBITMQ_HOME}/plugins"
IO_THREAD_POOL_SIZE=64
diff --git a/scripts/rabbitmq-defaults.bat b/scripts/rabbitmq-defaults.bat
index 9c1a04a005..3c57b2ab34 100644
--- a/scripts/rabbitmq-defaults.bat
+++ b/scripts/rabbitmq-defaults.bat
@@ -42,6 +42,7 @@ set LOG_BASE=!RABBITMQ_BASE!\log
set MNESIA_BASE=!RABBITMQ_BASE!\db
set ENABLED_PLUGINS_FILE=!RABBITMQ_BASE!\enabled_plugins
set GENERATED_CONFIG_DIR=!RABBITMQ_BASE!\config
+set RABBITMQ_CONFIG_ADDITIONAL=!RABBITMQ_BASE!\additional
REM PLUGINS_DIR="${RABBITMQ_HOME}/plugins"
for /f "delims=" %%F in ("!TDP0!..\plugins") do set PLUGINS_DIR=%%~dpsF%%~nF%%~xF
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index d5a5948f48..1b95d9efb1 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -69,7 +69,8 @@ RABBITMQ_DIST_PORT=$RABBITMQ_DIST_PORT \
-s rabbit_prelaunch \
${RABBITMQ_NAME_TYPE} rabbitmqprelaunch$$ \
-conf_dir "${RABBITMQ_GENERATED_CONFIG_DIR}" \
- -conf_gen_script "`dirname $0`/cuttlefish" \
+ -conf_script_dir "`dirname $0`" \
+ -conf_additional "${RABBITMQ_CONFIG_ADDITIONAL}" \
-extra "${RABBITMQ_NODENAME}"
PRELAUNCH_RESULT=$?
@@ -88,7 +89,7 @@ set -e
if [ -f "${RABBITMQ_CONFIG_FILE}.config" ]; then
RABBITMQ_CONFIG_ARG="-config ${RABBITMQ_CONFIG_FILE}"
elif [ -f "${RABBITMQ_CONFIG_FILE}.conf" ]; then
- RABBITMQ_CONFIG_ARG="-conf ${RABBITMQ_CONFIG_FILE} -conf_dir ${RABBITMQ_GENERATED_CONFIG_DIR} -conf_gen_script `dirname $0`/cuttlefish"
+ RABBITMQ_CONFIG_ARG="-conf ${RABBITMQ_CONFIG_FILE} -conf_dir ${RABBITMQ_GENERATED_CONFIG_DIR} -conf_script_dir `dirname $0` -conf_additional ${RABBITMQ_CONFIG_ADDITIONAL}"
fi
RABBITMQ_LISTEN_ARG=
diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat
index 7963a407cb..d2c63d2036 100644
--- a/scripts/rabbitmq-server.bat
+++ b/scripts/rabbitmq-server.bat
@@ -49,7 +49,8 @@ set RABBITMQ_CONFIG_FILE="!RABBITMQ_CONFIG_FILE!"
-s rabbit_prelaunch ^
!RABBITMQ_NAME_TYPE! rabbitmqprelaunch!RANDOM!!TIME:~9! ^
-conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" ^
- -conf_gen_script "%~dp0/cuttlefish" ^
+ -conf_script_dir "%~dp0" ^
+ -conf_additional "!RABBITMQ_CONFIG_ADDITIONAL!" ^
-extra "!RABBITMQ_NODENAME!"
if ERRORLEVEL 2 (
@@ -65,7 +66,7 @@ set RABBITMQ_EBIN_PATH="-pa !RABBITMQ_EBIN_ROOT!"
if exist "!RABBITMQ_CONFIG_FILE!.config" (
set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!"
) else if exist "!RABBITMQ_CONFIG_FILE!.conf" (
- set RABBITMQ_CONFIG_ARG=-conf "!RABBITMQ_CONFIG_FILE!" -conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" -conf_gen_script "%~dp0/cuttlefish"
+ set RABBITMQ_CONFIG_ARG=-conf "!RABBITMQ_CONFIG_FILE!" -conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" -conf_script_dir "%~dp0" -conf_additional "!RABBITMQ_CONFIG_ADDITIONAL!"
) else (
set RABBITMQ_CONFIG_ARG=
)
diff --git a/scripts/rabbitmq-service.bat b/scripts/rabbitmq-service.bat
index 144091feec..494716d121 100644
--- a/scripts/rabbitmq-service.bat
+++ b/scripts/rabbitmq-service.bat
@@ -22,7 +22,6 @@ rem enabling delayed expansion
set TN0=%~n0
set TDP0=%~dp0
set P1=%1
-set CUTTLEFISH=%~dp0\cuttlefish
setlocal enabledelayedexpansion
REM Get default settings with user overrides for (RABBITMQ_)<var_name>
@@ -122,7 +121,8 @@ set RABBITMQ_CONFIG_FILE="!RABBITMQ_CONFIG_FILE!"
-noinput -hidden ^
-s rabbit_prelaunch ^
-conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" ^
- -conf_gen_script "!CUTTLEFISH!" ^
+ -conf_script_dir "!TDP0!" ^
+ -conf_additional "!RABBITMQ_CONFIG_ADDITIONAL!" ^
!RABBITMQ_NAME_TYPE! rabbitmqprelaunch!RANDOM!!TIME:~9!
if ERRORLEVEL 3 (
@@ -140,10 +140,10 @@ if ERRORLEVEL 3 (
if exist "!RABBITMQ_CONFIG_FILE!.config" (
set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!"
) else if exist "!RABBITMQ_CONFIG_FILE!.conf" (
- set RABBITMQ_CONFIG_ARG=-conf "!RABBITMQ_CONFIG_FILE!" -conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" -conf_gen_script "!CUTTLEFISH!"
+ set RABBITMQ_CONFIG_ARG=-conf "!RABBITMQ_CONFIG_FILE!" -conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" -conf_script_dir "!TDP0!" -conf_additional "!RABBITMQ_CONFIG_ADDITIONAL!"
) else (
rem Always use generated config arguments, because file existance can change beetween restarts
- set RABBITMQ_CONFIG_ARG=-conf "!RABBITMQ_CONFIG_FILE!" -conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" -conf_gen_script "!CUTTLEFISH!"
+ set RABBITMQ_CONFIG_ARG=-conf "!RABBITMQ_CONFIG_FILE!" -conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" -conf_script_dir "!TDP0!" -conf_additional "!RABBITMQ_CONFIG_ADDITIONAL!"
)
set RABBITMQ_LISTEN_ARG=
diff --git a/scripts/rabbitmq.schema b/scripts/rabbitmq.schema
index 0970697b45..2700ad2e5e 100644
--- a/scripts/rabbitmq.schema
+++ b/scripts/rabbitmq.schema
@@ -790,6 +790,12 @@ end}.
{mapping, "kernel.net_ticktime", "kernel.net_ticktime",
[{datatype, integer}]}.
+{mapping, "kernel.inet_dist_listen_min", "kernel.inet_dist_listen_min",
+ [{datatype, integer}]}.
+
+{mapping, "kernel.inet_dist_listen_max", "kernel.inet_dist_listen_max",
+ [{datatype, integer}]}.
+
%% ----------------------------------------------------------------------------
%% RabbitMQ AMQP 1.0 Support
%%
diff --git a/src/rabbit_config.erl b/src/rabbit_config.erl
index 7025805f99..c2c53e56b2 100644
--- a/src/rabbit_config.erl
+++ b/src/rabbit_config.erl
@@ -38,15 +38,15 @@ get_confs() ->
end.
prepare_config(Configs) ->
- case {init:get_argument(conf_dir), init:get_argument(conf_gen_script)} of
- {{ok, ConfDir}, {ok, ConfScript}} ->
+ case {init:get_argument(conf_dir), init:get_argument(conf_script_dir)} of
+ {{ok, ConfDir}, {ok, ScriptDir}} ->
ConfFiles = [Config++".conf" || [Config] <- Configs,
rabbit_file:is_file(Config ++
".conf")],
case ConfFiles of
[] -> ok;
_ ->
- case generate_config_file(ConfFiles, ConfDir, ConfScript) of
+ case generate_config_file(ConfFiles, ConfDir, ScriptDir) of
{ok, GeneratedConfigFile} ->
{ok, GeneratedConfigFile};
{error, Reason} ->
@@ -59,14 +59,21 @@ prepare_config(Configs) ->
update_app_config(ConfigFile) ->
ok = application_controller:change_application_data([], [ConfigFile]).
-generate_config_file(ConfFiles, ConfDir, ConfScript) ->
- SchemaFile = filename:join([filename:dirname(ConfScript), "rabbitmq.schema"]),
+generate_config_file(ConfFiles, ConfDir, ScriptDir) ->
+ SchemaFile = filename:join([ScriptDir, "rabbitmq.schema"]),
+ Cuttlefish = filename:join([ScriptDir, "cuttlefish"]),
GeneratedDir = filename:join([ConfDir, "generated"]),
+
+ AdditionalConfigArg = case get_additional_config() of
+ {ok, FileName} -> [" -a ", FileName];
+ none -> []
+ end,
rabbit_file:recursive_delete([GeneratedDir]),
- Command = lists:concat(["escript ", "\"", ConfScript, "\"",
+ Command = lists:concat(["escript ", "\"", Cuttlefish, "\"",
" -f rabbitmq -i ", "\"", SchemaFile, "\"",
" -e ", "\"", ConfDir, "\"",
- [[" -c ", ConfFile] || ConfFile <- ConfFiles]]),
+ [[" -c ", ConfFile] || ConfFile <- ConfFiles],
+ AdditionalConfigArg]),
Result = rabbit_misc:os_cmd(Command),
case string:str(Result, " -config ") of
0 -> {error, {generaion_error, Result}};
@@ -77,4 +84,21 @@ generate_config_file(ConfFiles, ConfDir, ConfScript) ->
ResultFile),
{ok, ResultFile}
end.
+
+get_additional_config() ->
+ case init:get_argument(conf_additional) of
+ {ok, FileName} ->
+ ConfigName = FileName ++ ".config",
+ case rabbit_file:is_file(ConfigName) of
+ true -> {ok, ConfigName};
+ false -> none
+ end;
+ _ -> none
+ end.
+
+
+
+
+
+
\ No newline at end of file