diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-03-18 16:26:04 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-03-29 14:13:14 +0100 |
| commit | 0feb95d76c18a9a8ba67acaf4f638fd4524abf32 (patch) | |
| tree | 56bb372ffee820bd211bbcaedd523fe2451028f6 /src | |
| parent | 1089be3c5990d03e4d157007f61d678fea045f27 (diff) | |
| download | rabbitmq-server-git-0feb95d76c18a9a8ba67acaf4f638fd4524abf32.tar.gz | |
Support extensions in config files
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_prelaunch.erl | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/src/rabbit_prelaunch.erl b/src/rabbit_prelaunch.erl index 3f83a153ea..e872663200 100644 --- a/src/rabbit_prelaunch.erl +++ b/src/rabbit_prelaunch.erl @@ -79,35 +79,39 @@ duplicate_node_check(NodeName, NodeHost) -> end. dist_port_set_check() -> - case os:getenv("RABBITMQ_CONFIG_FILE") of - false -> + case get_config(os:getenv("RABBITMQ_CONFIG_FILE")) of + {ok, [Config]} -> + Kernel = pget(kernel, Config, []), + case {pget(inet_dist_listen_min, Kernel, none), + pget(inet_dist_listen_max, Kernel, none)} of + {none, none} -> ok; + _ -> rabbit_misc:quit(?DO_NOT_SET_DIST_PORT) + end; + {ok, _} -> ok; - File -> - case get_config(File) of - {ok, [Config]} -> - Kernel = pget(kernel, Config, []), - case {pget(inet_dist_listen_min, Kernel, none), - pget(inet_dist_listen_max, Kernel, none)} of - {none, none} -> ok; - _ -> rabbit_misc:quit(?DO_NOT_SET_DIST_PORT) - end; - {ok, _} -> - ok; - {error, _} -> - ok - end + {error, _} -> + ok end. -get_config(File) -> - case rabbit_file:is_file(File ++ ".config") of - true -> file:consult(File ++ ".config"); - false -> +get_config(File) -> + case consult_file(File) of + {ok, Contents} -> {ok, Contents}; + {error, _} -> case rabbit_config:get_advanced_config() of none -> {error, enoent}; FileName -> file:consult(FileName) end end. +consult_file(false) -> {error, nofile}; +consult_file(File) -> + FileName = case filename:extension(File) of + "" -> File ++ ".config"; + ".config" -> File; + _ -> "" + end, + file:consult(FileName). + dist_port_range_check() -> case os:getenv("RABBITMQ_DIST_PORT") of false -> ok; |
