summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-02-22 11:15:40 +0000
committerDaniil Fedotov <dfedotov@pivotal.io>2016-02-22 11:15:40 +0000
commitd937467ee05b0eef81f3ba2b4d420cbc3df98f50 (patch)
tree2e70c23c4f2f16943971942233289dad52d7c87f
parent173260d91e1f10ba0e5ef2cd16889ccd5bb28dab (diff)
downloadrabbitmq-server-git-d937467ee05b0eef81f3ba2b4d420cbc3df98f50.tar.gz
Config location logging
-rw-r--r--scripts/rabbitmq-defaults2
-rw-r--r--scripts/rabbitmq-defaults.bat2
-rw-r--r--scripts/rabbitmq-env1
-rw-r--r--scripts/rabbitmq-env.bat8
-rwxr-xr-xscripts/rabbitmq-server1
-rw-r--r--src/rabbit.erl27
-rw-r--r--src/rabbit_config.erl49
7 files changed, 58 insertions, 32 deletions
diff --git a/scripts/rabbitmq-defaults b/scripts/rabbitmq-defaults
index b102b3619c..23b5a4afd0 100644
--- a/scripts/rabbitmq-defaults
+++ b/scripts/rabbitmq-defaults
@@ -39,7 +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_ADVANCED=${SYS_PREFIX}/etc/rabbitmq/advanced
+CONFIG_ADVANCED=${SYS_PREFIX}/etc/rabbitmq/advanced
PLUGINS_DIR="${RABBITMQ_HOME}/plugins"
IO_THREAD_POOL_SIZE=64
diff --git a/scripts/rabbitmq-defaults.bat b/scripts/rabbitmq-defaults.bat
index 7c351bf48a..0ca53013a9 100644
--- a/scripts/rabbitmq-defaults.bat
+++ b/scripts/rabbitmq-defaults.bat
@@ -42,7 +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_ADVANCED=!RABBITMQ_BASE!\advanced
+set CONFIG_ADVANCED=!RABBITMQ_BASE!\advanced
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-env b/scripts/rabbitmq-env
index a360631a19..8261053a6d 100644
--- a/scripts/rabbitmq-env
+++ b/scripts/rabbitmq-env
@@ -185,6 +185,7 @@ DEFAULT_NODE_PORT=5672
[ "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_GENERATED_CONFIG_DIR" ] && RABBITMQ_GENERATED_CONFIG_DIR=${GENERATED_CONFIG_DIR}
+[ "x" = "x$RABBITMQ_CONFIG_ADVANCED" ] && RABBITMQ_CONFIG_ADVANCED=${CONFIG_ADVANCED}
rmq_normalize_path_var \
RABBITMQ_CONFIG_FILE \
diff --git a/scripts/rabbitmq-env.bat b/scripts/rabbitmq-env.bat
index ee89ac5605..b7a5bb7e52 100644
--- a/scripts/rabbitmq-env.bat
+++ b/scripts/rabbitmq-env.bat
@@ -166,6 +166,14 @@ if "!RABBITMQ_GENERATED_CONFIG_DIR!"=="" (
)
)
+if "!RABBITMQ_CONFIG_ADVANCED!"=="" (
+ if "!CONFIG_ADVANCED!"=="" (
+ set RABBITMQ_CONFIG_ADVANCED=!RABBITMQ_BASE!\advanced
+ ) else (
+ set RABBITMQ_CONFIG_ADVANCED=!GENERATED_CONFIG_DIR!
+ )
+)
+
REM [ "x" = "x$RABBITMQ_LOG_BASE" ] && RABBITMQ_LOG_BASE=${LOG_BASE}
if "!RABBITMQ_LOG_BASE!"=="" (
if "!LOG_BASE!"=="" (
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 236bcea561..3b1ecb8af2 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -95,6 +95,7 @@ elif [ -f "${RABBITMQ_CONFIG_FILE}.conf" ]; then
-conf_dir ${RABBITMQ_GENERATED_CONFIG_DIR} \
-conf_script_dir `dirname $0` \
-conf_schema_dir ${RABBITMQ_HOME}/priv/schema"
+ echo "${RABBITMQ_CONFIG_ADVANCED}.config"
if [ -f "${RABBITMQ_CONFIG_ADVANCED}.config" ]; then
RABBITMQ_CONFIG_ARG="${RABBITMQ_CONFIG_ARG} \
-conf_advanced ${RABBITMQ_CONFIG_ADVANCED} \
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 278ec0197d..9541f7c0b6 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -803,32 +803,7 @@ home_dir() ->
end.
config_files() ->
- Abs = fun (F) ->
- filename:absname(filename:rootname(F, ".config") ++ ".config")
- end,
- case init:get_argument(config) of
- {ok, Files} -> [Abs(File) || [File] <- Files];
- error -> case config_setting() of
- none -> [];
- File -> [Abs(File) ++ " (not found)"]
- end
- end.
-
-%% This is a pain. We want to know where the config file is. But we
-%% can't specify it on the command line if it is missing or the VM
-%% will fail to start, so we need to find it by some mechanism other
-%% than init:get_arguments/0. We can look at the environment variable
-%% which is responsible for setting it... but that doesn't work for a
-%% Windows service since the variable can change and the service not
-%% be reinstalled, so in that case we add a magic application env.
-config_setting() ->
- case application:get_env(rabbit, windows_service_config) of
- {ok, File1} -> File1;
- undefined -> case os:getenv("RABBITMQ_CONFIG_FILE") of
- false -> none;
- File2 -> File2
- end
- end.
+ rabbit_config:config_files().
%% We don't want this in fhc since it references rabbit stuff. And we can't put
%% this in the bootstep directly.
diff --git a/src/rabbit_config.erl b/src/rabbit_config.erl
index 4bccc5d0c7..e467a73d7c 100644
--- a/src/rabbit_config.erl
+++ b/src/rabbit_config.erl
@@ -5,7 +5,9 @@
prepare_and_use_config/0,
prepare_config/1,
update_app_config/1,
- schema_dir/0]).
+ schema_dir/0,
+ config_files/0
+ ]).
prepare_and_use_config() ->
case erlang_config_used() of
@@ -28,7 +30,7 @@ prepare_and_use_config() ->
erlang_config_used() ->
case init:get_argument(config) of
error -> false;
- {ok, Config} ->
+ {ok, [Config | _]} ->
ConfigFile = Config ++ ".config",
rabbit_file:is_file(ConfigFile)
andalso
@@ -80,7 +82,6 @@ generate_config_file(ConfFiles, ConfDir, ScriptDir) ->
" -e ", "\"", ConfDir, "\"",
[[" -c ", ConfFile] || ConfFile <- ConfFiles],
AdvancedConfigArg]),
- io:format("Command: ~s~n", [Command]),
Result = rabbit_misc:os_cmd(Command),
case string:str(Result, " -config ") of
0 -> {error, {generation_error, Result}};
@@ -104,7 +105,8 @@ schema_dir() ->
get_advanced_config() ->
case init:get_argument(conf_advanced) of
- {ok, FileName} ->
+ % There can be only one advanced.config
+ {ok, [FileName | _]} ->
ConfigName = FileName ++ ".config",
case rabbit_file:is_file(ConfigName) of
true -> {ok, ConfigName};
@@ -121,4 +123,43 @@ prepare_plugin_schemas(SchemaDir) ->
end.
+config_files() ->
+ Abs = fun (F, Ex) -> filename:absname(filename:rootname(F, Ex) ++ Ex) end,
+ case erlang_config_used() of
+ true ->
+ case init:get_argument(config) of
+ {ok, Files} -> [Abs(File, ".config") || [File] <- Files];
+ error -> case config_setting() of
+ none -> [];
+ File -> [Abs(File, ".config")
+ ++
+ " (not found)"]
+ end
+ end;
+ false ->
+ ConfFiles = [Abs(File, ".conf") || File <- get_confs()],
+ AdvancedFiles = case get_advanced_config() of
+ none -> [];
+ {ok, FileName} -> [Abs(FileName, ".config")]
+ end,
+ AdvancedFiles ++ ConfFiles
+
+ end.
+
+
+%% This is a pain. We want to know where the config file is. But we
+%% can't specify it on the command line if it is missing or the VM
+%% will fail to start, so we need to find it by some mechanism other
+%% than init:get_arguments/0. We can look at the environment variable
+%% which is responsible for setting it... but that doesn't work for a
+%% Windows service since the variable can change and the service not
+%% be reinstalled, so in that case we add a magic application env.
+config_setting() ->
+ case application:get_env(rabbit, windows_service_config) of
+ {ok, File1} -> File1;
+ undefined -> case os:getenv("RABBITMQ_CONFIG_FILE") of
+ false -> none;
+ File2 -> File2
+ end
+ end.