|
19 | 19 |
|
20 | 20 | -export([names/1, diagnostics/1, make/1, parts/1, cookie_hash/0, |
21 | 21 | is_running/2, is_process_running/2, |
22 | | - cluster_name/0, set_cluster_name/2, ensure_epmd/0, |
| 22 | + cluster_name/0, set_cluster_name/1, set_cluster_name/2, ensure_epmd/0, |
23 | 23 | all_running/0, name_type/0, running_count/0, |
24 | | - await_running_count/2]). |
| 24 | + await_running_count/2, |
| 25 | + boot/0]). |
25 | 26 |
|
26 | 27 | -include_lib("kernel/include/inet.hrl"). |
| 28 | +-include_lib("rabbit_common/include/rabbit.hrl"). |
27 | 29 |
|
28 | 30 | -define(SAMPLING_INTERVAL, 1000). |
29 | 31 |
|
30 | 32 | %%---------------------------------------------------------------------------- |
31 | | -%% Specs |
| 33 | +%% API |
32 | 34 | %%---------------------------------------------------------------------------- |
33 | 35 |
|
34 | 36 | -spec names(string()) -> |
|
38 | 40 | -spec is_running(node(), atom()) -> boolean(). |
39 | 41 | -spec is_process_running(node(), atom()) -> boolean(). |
40 | 42 | -spec cluster_name() -> binary(). |
41 | | --spec set_cluster_name(binary(), rabbit_types:username()) -> 'ok'. |
42 | 43 | -spec all_running() -> [node()]. |
43 | 44 | -spec running_count() -> integer(). |
44 | | - |
45 | 45 | %%---------------------------------------------------------------------------- |
46 | 46 |
|
| 47 | +boot() -> |
| 48 | + case application:get_env(rabbit, cluster_name) of |
| 49 | + undefined -> ok; |
| 50 | + {ok, Name} -> |
| 51 | + rabbit_log:info("Setting cluster name to '~s' as configured", [Name]), |
| 52 | + set_cluster_name(rabbit_data_coercion:to_binary(Name)) |
| 53 | + end. |
| 54 | + |
47 | 55 | name_type() -> |
48 | 56 | case os:getenv("RABBITMQ_USE_LONGNAME") of |
49 | 57 | "true" -> longnames; |
@@ -80,6 +88,13 @@ cluster_name_default() -> |
80 | 88 | FQDN = rabbit_net:hostname(), |
81 | 89 | list_to_binary(atom_to_list(make({ID, FQDN}))). |
82 | 90 |
|
| 91 | +-spec set_cluster_name(binary()) -> 'ok'. |
| 92 | + |
| 93 | +set_cluster_name(Name) -> |
| 94 | + set_cluster_name(Name, ?INTERNAL_USER). |
| 95 | + |
| 96 | +-spec set_cluster_name(binary(), rabbit_types:username()) -> 'ok'. |
| 97 | + |
83 | 98 | set_cluster_name(Name, Username) -> |
84 | 99 | %% Cluster name should be binary |
85 | 100 | BinaryName = rabbit_data_coercion:to_binary(Name), |
|
0 commit comments