diff --git a/src/emqx.appup.src b/src/emqx.appup.src index dcb3b7fa3..9d85f019b 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -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,[]}, diff --git a/src/emqx_plugins.erl b/src/emqx_plugins.erl index 887c191c1..7f7d531c0 100644 --- a/src/emqx_plugins.erl +++ b/src/emqx_plugins.erl @@ -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. diff --git a/test/emqx_plugins_SUITE.erl b/test/emqx_plugins_SUITE.erl index b5c5d723f..6e0994757 100644 --- a/test/emqx_plugins_SUITE.erl +++ b/test/emqx_plugins_SUITE.erl @@ -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.