Merge pull request #10467 from zhongwencool/default-plugins-tmpl

fix: ensure default_plugins/0 is the same as loaded_plugins.tmpl.
This commit is contained in:
zhongwencool 2023-04-21 21:51:44 +08:00 committed by GitHub
commit e373affebc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 60 additions and 7 deletions

View File

@ -3,12 +3,14 @@
{VSN,
[{"4.4.17",
[{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]}]},
{"4.4.16",
[{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.15",
[{load_module,emqx_channel,brutal_purge,soft_purge,[]},
@ -16,6 +18,7 @@
{load_module,emqx,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.14",
@ -23,6 +26,7 @@
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
@ -41,6 +45,7 @@
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
@ -55,6 +60,7 @@
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]},
@ -69,6 +75,7 @@
[{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]},
@ -87,6 +94,7 @@
[{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]},
@ -531,17 +539,20 @@
{<<".*">>,[]}],
[{"4.4.17",
[{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]}]},
{"4.4.16",
[{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.15",
[{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},
@ -550,6 +561,7 @@
[{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
@ -565,6 +577,7 @@
[{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
@ -582,6 +595,7 @@
{load_module,emqx_pool,brutal_purge,soft_purge,[]},
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
@ -598,6 +612,7 @@
{load_module,emqx_vm,brutal_purge,soft_purge,[]},
{load_module,emqx_keepalive,brutal_purge,soft_purge,[]},
{load_module,emqx_broker,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_banned,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]},
@ -620,6 +635,7 @@
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]},
{load_module,emqx_packet,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_access_rule,brutal_purge,soft_purge,[]},
{load_module,emqx_relup,brutal_purge,soft_purge,[]},

View File

@ -252,11 +252,14 @@ default_plugins() ->
%% retainer is managed by emqx_modules.
%% default is true in data/load_modules. **NOT HERE**
{emqx_retainer, false},
{emqx_recon, true},
{emqx_recon, false},
%% emqx_telemetry is not exist in enterprise.
%% {emqx_telemetry, false},
{emqx_rule_engine, true},
{emqx_bridge_mqtt, false}
{emqx_bridge_mqtt, false},
{emqx_schema_registry, true},
{emqx_eviction_agent, true},
{emqx_node_rebalance, true}
].
-endif.

View File

@ -103,6 +103,9 @@ default_plugins() ->
{emqx_telemetry, true}
].
get_vars() ->
'rebar.config':overlay_vars_rel_common(cloud).
-else.
default_plugins() ->
@ -111,11 +114,18 @@ default_plugins() ->
{emqx_dashboard, true},
{emqx_management, true},
{emqx_modules, true},
{emqx_recon, true},
{emqx_recon, false},
{emqx_retainer, false},
{emqx_rule_engine, true}
{emqx_rule_engine, true},
{emqx_schema_registry, true},
{emqx_eviction_agent, true},
{emqx_node_rebalance, true}
].
get_vars() ->
'rebar.config':ee_overlay_vars(bin).
-endif.
t_ensure_default_loaded_plugins_file(Config) ->
%% this will trigger it to write the default plugins to the
@ -125,9 +135,28 @@ t_ensure_default_loaded_plugins_file(Config) ->
ok = emqx_plugins:load(),
{ok, Contents} = file:consult(TmpFilepath),
DefaultPlugins = default_plugins(),
?assertEqual(DefaultPlugins, lists:sort(Contents)),
?assertEqual(lists:sort(DefaultPlugins), lists:sort(Contents)),
GenContents = get_loaded_plugins_from_tmpl(),
?assertEqual(lists:sort(Contents), lists:sort(GenContents)),
ok.
get_loaded_plugins_from_tmpl() ->
%% /_build/test/logs/ct_run.test@127.0.0.1.xxxx
{ok, Cwd} = file:get_cwd(),
Home = filename:dirname(filename:dirname(filename:dirname(filename:dirname(Cwd)))),
FileName = filename:join([Home, "rebar.config.erl"]),
{ok, Module, Code} = compile:file(FileName, [export_all, binary]),
{module, Module} = code:load_binary(Module, FileName, Code),
{ok, Bin} = file:read_file(filename:join([Home, "data", "loaded_plugins.tmpl"])),
Vars = maps:from_list(lists:map(fun({K, V}) -> {to_str(K), to_str(V)} end, get_vars())),
RenderBin = bbmustache:render(Bin, Vars),
TmpFile = "./tmpfile",
ok = file:write_file(TmpFile, RenderBin),
{ok, Contents} = file:consult(TmpFile),
file:delete(TmpFile),
Contents.
t_init_config(_) ->
ConfFile = "emqx_mini_plugin.config",
Data = "[{emqx_mini_plugin,[{mininame ,test}]}].",
@ -205,3 +234,8 @@ t_unload_plugin(_) ->
?assertEqual({error,error}, emqx_plugins:unload_plugin(error_app)),
ok = meck:unload(application).
to_str(Atom) when is_atom(Atom) ->
atom_to_list(Atom);
to_str(Str) when is_list(Str) ->
Str.