|
22 | 22 | save_vhost_recovery_terms/2, |
23 | 23 | lookup_vhost_sup_record/1, |
24 | 24 | lookup_vhost_recovery_terms/1]). |
25 | | --export([delete_on_all_nodes/1, start_on_all_nodes/1]). |
| 25 | +-export([delete_on_all_nodes/1, start_on_all_nodes/1, start_on_all_nodes/2]). |
26 | 26 | -export([is_vhost_alive/1]). |
27 | 27 | -export([check/0]). |
28 | 28 |
|
@@ -54,16 +54,19 @@ init([]) -> |
54 | 54 | [rabbit_vhost_sup_wrapper, rabbit_vhost_sup]}]}}. |
55 | 55 |
|
56 | 56 | start_on_all_nodes(VHost) -> |
57 | | - %% Do not try to start a vhost on booting peer nodes |
58 | | - AllBooted = [Node || Node <- rabbit_nodes:list_running()], |
| 57 | + %% By default select only fully booted peers |
| 58 | + AllBooted = rabbit_nodes:list_running(), |
59 | 59 | Nodes = [node() | AllBooted], |
| 60 | + start_on_all_nodes(VHost, Nodes). |
| 61 | + |
| 62 | +start_on_all_nodes(VHost, Nodes) -> |
60 | 63 | Results = [{Node, start_vhost(VHost, Node)} || Node <- Nodes], |
61 | 64 | Failures = lists:filter(fun |
62 | | - ({_, {ok, _}}) -> false; |
63 | | - ({_, {error, {already_started, _}}}) -> false; |
64 | | - (_) -> true |
65 | | - end, |
66 | | - Results), |
| 65 | + ({_, {ok, _}}) -> false; |
| 66 | + ({_, {error, {already_started, _}}}) -> false; |
| 67 | + (_) -> true |
| 68 | + end, |
| 69 | + Results), |
67 | 70 | case Failures of |
68 | 71 | [] -> ok; |
69 | 72 | Errors -> {error, {failed_to_start_vhost_on_nodes, Errors}} |
|
0 commit comments