summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-03-03 15:04:50 +0000
committerDaniil Fedotov <dfedotov@pivotal.io>2016-03-03 15:04:50 +0000
commitc61a79f050bbffc00329c1a56b09732508fbf63c (patch)
tree1e14a741e55b236934cf056fb0890b7a18c4acec
parentee55dd5b1c454c57b85cb34743117545aaa0dbcd (diff)
downloadrabbitmq-server-git-c61a79f050bbffc00329c1a56b09732508fbf63c.tar.gz
Config generation fixes
-rw-r--r--priv/schema/rabbitmq.schema6
-rw-r--r--src/rabbit_config.erl29
2 files changed, 23 insertions, 12 deletions
diff --git a/priv/schema/rabbitmq.schema b/priv/schema/rabbitmq.schema
index 7aca648986..56dc14a36e 100644
--- a/priv/schema/rabbitmq.schema
+++ b/priv/schema/rabbitmq.schema
@@ -120,7 +120,7 @@ end}.
{translation, "rabbit.loopback_users",
fun(Conf) ->
- None = cuttlefish:conf_get("loopback_users", Conf),
+ None = cuttlefish:conf_get("loopback_users", Conf, undefined),
case None of
none -> [];
_ ->
@@ -149,7 +149,7 @@ end}.
{translation, "rabbit.ssl_options",
fun(Conf) ->
- case cuttlefish:conf_get("ssl_options", Conf) of
+ case cuttlefish:conf_get("ssl_options", Conf, undefined) of
none -> [];
_ -> cuttlefish:invalid("Invalid ssl_options")
end
@@ -522,7 +522,7 @@ end}.
{translation, "rabbit.tcp_listen_options",
fun(Conf) ->
- case cuttlefish:conf_get("tcp_listen_options") of
+ case cuttlefish:conf_get("tcp_listen_options", undefined) of
none -> [];
_ -> cuttlefish:invalid("Invalid tcp_listen_options")
end
diff --git a/src/rabbit_config.erl b/src/rabbit_config.erl
index e467a73d7c..6ff0ec67dc 100644
--- a/src/rabbit_config.erl
+++ b/src/rabbit_config.erl
@@ -1,7 +1,7 @@
-module(rabbit_config).
-export([
- generate_config_file/3,
+ generate_config_file/5,
prepare_and_use_config/0,
prepare_config/1,
update_app_config/1,
@@ -34,7 +34,7 @@ erlang_config_used() ->
ConfigFile = Config ++ ".config",
rabbit_file:is_file(ConfigFile)
andalso
- get_advanced_config() =/= {ok, ConfigFile}
+ get_advanced_config() == none
end.
get_confs() ->
@@ -66,16 +66,20 @@ update_app_config(ConfigFile) ->
ok = application_controller:change_application_data([], [ConfigFile]).
generate_config_file(ConfFiles, ConfDir, ScriptDir) ->
- SchemaDir = schema_dir(),
+ generate_config_file(ConfFiles, ConfDir, ScriptDir,
+ schema_dir(), get_advanced_config()).
+
+
+generate_config_file(ConfFiles, ConfDir, ScriptDir, SchemaDir, Advanced) ->
prepare_plugin_schemas(SchemaDir),
% SchemaFile = filename:join([ScriptDir, "rabbitmq.schema"]),
Cuttlefish = filename:join([ScriptDir, "cuttlefish"]),
GeneratedDir = filename:join([ConfDir, "generated"]),
- AdvancedConfigArg = case get_advanced_config() of
- {ok, FileName} -> [" -a ", FileName];
- none -> []
- end,
+ AdvancedConfigArg = case check_advanced_config(Advanced) of
+ {ok, FileName} -> [" -a ", FileName];
+ none -> []
+ end,
rabbit_file:recursive_delete([GeneratedDir]),
Command = lists:concat(["escript ", "\"", Cuttlefish, "\"",
" -f rabbitmq -s ", "\"", SchemaDir, "\"",
@@ -103,13 +107,20 @@ schema_dir() ->
end
end.
+check_advanced_config(none) -> none;
+check_advanced_config(ConfigName) ->
+ case rabbit_file:is_file(ConfigName) of
+ true -> {ok, ConfigName};
+ false -> none
+ end.
+
get_advanced_config() ->
case init:get_argument(conf_advanced) of
% There can be only one advanced.config
{ok, [FileName | _]} ->
ConfigName = FileName ++ ".config",
case rabbit_file:is_file(ConfigName) of
- true -> {ok, ConfigName};
+ true -> ConfigName;
false -> none
end;
_ -> none
@@ -140,7 +151,7 @@ config_files() ->
ConfFiles = [Abs(File, ".conf") || File <- get_confs()],
AdvancedFiles = case get_advanced_config() of
none -> [];
- {ok, FileName} -> [Abs(FileName, ".config")]
+ FileName -> [Abs(FileName, ".config")]
end,
AdvancedFiles ++ ConfFiles