summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_config.erl50
-rw-r--r--src/rabbit_prelaunch.erl2
2 files changed, 24 insertions, 28 deletions
diff --git a/src/rabbit_config.erl b/src/rabbit_config.erl
index cb2e6a144a..5e75223f63 100644
--- a/src/rabbit_config.erl
+++ b/src/rabbit_config.erl
@@ -1,37 +1,33 @@
-module(rabbit_config).
--export([generate_config_file/1, prepare_config/0]).
+-export([generate_config_file/3, prepare_config/0]).
prepare_config() ->
- {ok, Configs} = init:get_argument(config),
- ConfFiles = [Config++".conf" || [Config] <- Configs,
- rabbit_file:is_file(Config ++ ".conf")],
- case ConfFiles of
- [] -> ok;
- _ ->
- case generate_config_file(ConfFiles) of
- {ok, GeneratedConfigFile} ->
- ok = application_controller:change_application_data(
- [], [GeneratedConfigFile]);
- {error, Reason} ->
- {error, Reason}
- end
+ case {init:get_argument(conf), init:get_argument(conf_dir), init:get_argument(conf_gen_script)} of
+ {{ok, Configs}, {ok, ConfDir}, {ok, ConfScript}} ->
+ ConfFiles = [Config++".conf" || [Config] <- Configs,
+ rabbit_file:is_file(Config ++
+ ".conf")],
+ case ConfFiles of
+ [] -> ok;
+ _ ->
+ case generate_config_file(ConfFiles, ConfDir, ConfScript) of
+ {ok, GeneratedConfigFile} ->
+ ok = application_controller:change_application_data(
+ [], [GeneratedConfigFile]);
+ {error, Reason} ->
+ {error, Reason}
+ end
+ end;
+ _ -> ok
end.
-generate_config_file(ConfFiles) ->
- rabbit_file:recursive_delete("./generated"),
- ConfArg = [["-c", ConfFile] || ConfFile <- ConfFiles],
- Command = case os:type() of
- {unix, _} ->
- ["./generate-config ", ConfArg];
- {win32, _} ->
- [".generate-config.bat ", ConfArg];
- _ ->
- {error, os_unsupported}
- end,
- Result = os:cmd(Command),
+generate_config_file(ConfFiles, ConfDir, ConfScript) ->
+ rabbit_file:recursive_delete(filename:join([ConfDir, "generated"])),
+ Command = [ ConfScript, " -e ", ConfDir, [[" -c ", ConfFile] || ConfFile <- ConfFiles]],
+ Result = rabbit_misc:os_cmd(Command),
case string:str(Result, " -config ") of
0 -> {error, {generaion_error, Result}};
- _ -> {ok, "./generated/rabbitmq.config"}
+ _ -> {ok, filename:join([ConfDir, "generated", "rabbitmq.config"])}
end.
\ No newline at end of file
diff --git a/src/rabbit_prelaunch.erl b/src/rabbit_prelaunch.erl
index 0b3ca4960b..5ecdd75acc 100644
--- a/src/rabbit_prelaunch.erl
+++ b/src/rabbit_prelaunch.erl
@@ -79,7 +79,7 @@ duplicate_node_check(NodeName, NodeHost) ->
end.
dist_port_set_check() ->
- case os:getenv("RABBITMQ_CONFIG_FILE_ACTUAL") of
+ case os:getenv("RABBITMQ_CONFIG_FILE") of
false ->
ok;
File ->