diff --git a/apps/emqx_management/src/emqx_mgmt_api_configs.erl b/apps/emqx_management/src/emqx_mgmt_api_configs.erl index efab75791..599073704 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_configs.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_configs.erl @@ -158,12 +158,12 @@ configs(get, Params, _Req) -> case lists:member(Node, mria_mnesia:running_nodes()) andalso - rpc:call(Node, ?MODULE, get_full_config, []) + emqx_management_proto_v1:get_full_config(Node) of false -> Message = list_to_binary(io_lib:format("Bad node ~p, reason not found", [Node])), {500, #{code => 'BAD_NODE', message => Message}}; - {error, {badrpc, R}} -> + {badrpc, R} -> Message = list_to_binary(io_lib:format("Bad node ~p, reason ~p", [Node, R])), {500, #{code => 'BAD_NODE', message => Message}}; Res -> diff --git a/apps/emqx_management/src/proto/emqx_management_proto_v1.erl b/apps/emqx_management/src/proto/emqx_management_proto_v1.erl index d3d8ff989..306145ade 100644 --- a/apps/emqx_management/src/proto/emqx_management_proto_v1.erl +++ b/apps/emqx_management/src/proto/emqx_management_proto_v1.erl @@ -32,6 +32,8 @@ , unsubscribe/3 , call_client/3 + + , get_full_config/1 ]). -include_lib("emqx/include/bpapi.hrl"). @@ -77,3 +79,7 @@ unsubscribe(Node, ClientId, Topic) -> -spec call_client(node(), emqx_types:clientid(), term()) -> term(). call_client(Node, ClientId, Req) -> rpc:call(Node, emqx_mgmt, do_call_client, [ClientId, Req]). + +-spec get_full_config(node()) -> map() | list() | {badrpc, _}. +get_full_config(Node) -> + rpc:call(Node, emqx_mgmt_api_configs, get_full_config, []).