diff options
| author | Michael Klishin <michael@novemberain.com> | 2017-08-03 22:59:35 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-03 22:59:35 +0300 |
| commit | f96ab7e419b17bc02ddc9c1b38bc7f861a4b52e1 (patch) | |
| tree | d4fa6f9a14794da4d78725897c1a8e577e740386 | |
| parent | ac687666a1cc4fb0619792d44cad5f10dd869629 (diff) | |
| parent | 454a26b359b050d62bb745d11e7bc3677aab29bf (diff) | |
| download | rabbitmq-server-git-f96ab7e419b17bc02ddc9c1b38bc7f861a4b52e1.tar.gz | |
Merge pull request #1318 from rabbitmq/rabbitmq-management-460
Change the `state` field in vhost info to `cluster_state`.
| -rw-r--r-- | src/rabbit_vhost.erl | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/rabbit_vhost.erl b/src/rabbit_vhost.erl index 05a7696052..73c05389be 100644 --- a/src/rabbit_vhost.erl +++ b/src/rabbit_vhost.erl @@ -77,7 +77,7 @@ recover(VHost) -> %%---------------------------------------------------------------------------- --define(INFO_KEYS, [name, tracing, state]). +-define(INFO_KEYS, [name, tracing, cluster_state]). add(VHostPath, ActingUser) -> rabbit_log:info("Adding vhost '~s'~n", [VHostPath]), @@ -263,10 +263,19 @@ infos(Items, X) -> [{Item, i(Item, X)} || Item <- Items]. i(name, VHost) -> VHost; i(tracing, VHost) -> rabbit_trace:enabled(VHost); -i(state, VHost) -> case rabbit_vhost_sup_sup:is_vhost_alive(VHost) of - true -> running; - false -> down - end; +i(cluster_state, VHost) -> + Nodes = rabbit_nodes:all_running(), + lists:map(fun(Node) -> + State = case rabbit_misc:rpc_call(Node, + rabbit_vhost_sup_sup, is_vhost_alive, + [VHost]) of + {badrpc, nodedown} -> nodedown; + true -> running; + false -> stopped + end, + {Node, State} + end, + Nodes); i(Item, _) -> throw({bad_argument, Item}). info(VHost) -> infos(?INFO_KEYS, VHost). |
