From 9da744c423b81e2a9c2295e2bc1e89b5c0a3ac97 Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 12:17:00 +0200 Subject: [PATCH 01/11] fix(mria): Reserve replicant role for EE only --- apps/emqx_conf/src/emqx_conf_schema.erl | 14 +------------- apps/emqx_conf/src/emqx_conf_schema_inject.erl | 8 +++++++- apps/emqx_conf/test/emqx_conf_schema_tests.erl | 18 ++++++------------ .../src/emqx_enterprise.app.src | 2 +- .../src/emqx_enterprise_schema.erl | 7 +++++++ changes/ce/breaking-13526.en.md | 5 +++++ 6 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 changes/ce/breaking-13526.en.md diff --git a/apps/emqx_conf/src/emqx_conf_schema.erl b/apps/emqx_conf/src/emqx_conf_schema.erl index df906911e..8bab4e777 100644 --- a/apps/emqx_conf/src/emqx_conf_schema.erl +++ b/apps/emqx_conf/src/emqx_conf_schema.erl @@ -194,18 +194,6 @@ fields("cluster") -> 'readOnly' => true } )}, - {"core_nodes", - sc( - node_array(), - #{ - %% This config is nerver needed (since 5.0.0) - importance => ?IMPORTANCE_HIDDEN, - mapping => "mria.core_nodes", - default => [], - 'readOnly' => true, - desc => ?DESC(db_core_nodes) - } - )}, {"autoclean", sc( emqx_schema:duration(), @@ -600,7 +588,7 @@ fields("node") -> )}, {"role", sc( - hoconsc:enum([core, replicant]), + hoconsc:enum([core] ++ emqx_schema_hooks:injection_point('node.role')), #{ mapping => "mria.node_role", default => core, diff --git a/apps/emqx_conf/src/emqx_conf_schema_inject.erl b/apps/emqx_conf/src/emqx_conf_schema_inject.erl index fb4fee4c7..5ffd3a5af 100644 --- a/apps/emqx_conf/src/emqx_conf_schema_inject.erl +++ b/apps/emqx_conf/src/emqx_conf_schema_inject.erl @@ -22,12 +22,18 @@ schemas() -> schemas(emqx_release:edition()). schemas(Edition) -> - auth_ext(Edition) ++ + mria(Edition) ++ + auth_ext(Edition) ++ cluster_linking(Edition) ++ authn(Edition) ++ authz() ++ customized(Edition). +mria(ce) -> + []; +mria(ee) -> + [emqx_enterprise_schema]. + auth_ext(ce) -> []; auth_ext(ee) -> diff --git a/apps/emqx_conf/test/emqx_conf_schema_tests.erl b/apps/emqx_conf/test/emqx_conf_schema_tests.erl index 72834f6d2..2bb56e5cc 100644 --- a/apps/emqx_conf/test/emqx_conf_schema_tests.erl +++ b/apps/emqx_conf/test/emqx_conf_schema_tests.erl @@ -32,7 +32,6 @@ name = emqxcl discovery_strategy = static static.seeds = ~p - core_nodes = ~p } "). @@ -41,7 +40,7 @@ array_nodes_test() -> ExpectNodes = ['emqx1@127.0.0.1', 'emqx2@127.0.0.1'], lists:foreach( fun(Nodes) -> - ConfFile = to_bin(?BASE_CONF, [Nodes, Nodes]), + ConfFile = to_bin(?BASE_CONF, [Nodes]), {ok, Conf} = hocon:binary(ConfFile, #{format => richmap}), ConfList = hocon_tconf:generate(emqx_conf_schema, Conf), VMArgs = proplists:get_value(vm_args, ConfList), @@ -57,11 +56,6 @@ array_nodes_test() -> {static, [{seeds, ExpectNodes}]}, ClusterDiscovery, Nodes - ), - ?assertEqual( - ExpectNodes, - proplists:get_value(core_nodes, proplists:get_value(mria, ConfList)), - Nodes ) end, [["emqx1@127.0.0.1", "emqx2@127.0.0.1"], "emqx1@127.0.0.1, emqx2@127.0.0.1"] @@ -158,7 +152,7 @@ outdated_log_test() -> validate_log(Conf) -> ensure_acl_conf(), - BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1", "emqx1@127.0.0.1"]), + BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1"]), Conf0 = <>, {ok, ConfMap0} = hocon:binary(Conf0, #{format => richmap}), ConfList = hocon_tconf:generate(emqx_conf_schema, ConfMap0), @@ -214,7 +208,7 @@ validate_log(Conf) -> file_log_infinity_rotation_size_test_() -> ensure_acl_conf(), - BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1", "emqx1@127.0.0.1"]), + BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1"]), Gen = fun(#{count := Count, size := Size}) -> Conf0 = to_bin(?FILE_LOG_BASE_CONF, [Count, Size]), Conf1 = [BaseConf, Conf0], @@ -292,7 +286,7 @@ log_rotation_count_limit_test() -> rotation_size = \"1024MB\" } ", - BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1", "emqx1@127.0.0.1"]), + BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1"]), lists:foreach(fun({Conf, Count}) -> Conf0 = <>, {ok, ConfMap0} = hocon:binary(Conf0, #{format => richmap}), @@ -352,7 +346,7 @@ log_rotation_count_limit_test() -> authn_validations_test() -> ensure_acl_conf(), - BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1", "emqx1@127.0.0.1"]), + BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1"]), OKHttps = to_bin(?BASE_AUTHN_ARRAY, [post, true, <<"https://127.0.0.1:8080">>]), Conf0 = <>, @@ -410,7 +404,7 @@ authn_validations_test() -> listeners_test() -> ensure_acl_conf(), - BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1", "emqx1@127.0.0.1"]), + BaseConf = to_bin(?BASE_CONF, ["emqx1@127.0.0.1"]), Conf = <>, {ok, ConfMap0} = hocon:binary(Conf, #{format => richmap}), diff --git a/apps/emqx_enterprise/src/emqx_enterprise.app.src b/apps/emqx_enterprise/src/emqx_enterprise.app.src index 93fb02287..e79a6f3a3 100644 --- a/apps/emqx_enterprise/src/emqx_enterprise.app.src +++ b/apps/emqx_enterprise/src/emqx_enterprise.app.src @@ -1,6 +1,6 @@ {application, emqx_enterprise, [ {description, "EMQX Enterprise Edition"}, - {vsn, "0.2.2"}, + {vsn, "0.2.3"}, {registered, []}, {applications, [ kernel, diff --git a/apps/emqx_enterprise/src/emqx_enterprise_schema.erl b/apps/emqx_enterprise/src/emqx_enterprise_schema.erl index f593dc877..571757c75 100644 --- a/apps/emqx_enterprise/src/emqx_enterprise_schema.erl +++ b/apps/emqx_enterprise/src/emqx_enterprise_schema.erl @@ -5,12 +5,14 @@ -module(emqx_enterprise_schema). -behaviour(hocon_schema). +-behaviour(emqx_schema_hooks). -include_lib("typerefl/include/types.hrl"). -include_lib("hocon/include/hoconsc.hrl"). -export([namespace/0, roots/0, fields/1, translations/0, translation/1, desc/1, validations/0]). -export([upgrade_raw_conf/1]). +-export([injected_fields/0]). -define(EE_SCHEMA_MODULES, [ emqx_license_schema, @@ -127,6 +129,11 @@ desc(Name) -> validations() -> emqx_conf_schema:validations() ++ emqx_license_schema:validations(). +injected_fields() -> + #{ + 'node.role' => [replicant] + }. + %%------------------------------------------------------------------------------ %% helpers %%------------------------------------------------------------------------------ diff --git a/changes/ce/breaking-13526.en.md b/changes/ce/breaking-13526.en.md new file mode 100644 index 000000000..752e58ef3 --- /dev/null +++ b/changes/ce/breaking-13526.en.md @@ -0,0 +1,5 @@ +- Core-replicant feature has been removed from the Open-Source Edition. + Starting from release 5.8, all nodes running Open-Source Edition will assume Core role. + This change doesn't affect Enterprise Edition users. + +- Obsolete and unused `cluster.core_nodes` configuration parameter has been removed. From 1beda1cd118762107448491f092aa6b56326384e Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 16:22:57 +0200 Subject: [PATCH 02/11] test(mria): Remove role from the example config --- apps/emqx/test/emqx_cth_suite.erl | 11 +++++++++++ apps/emqx_management/test/emqx_mgmt_cli_SUITE.erl | 8 +++++++- rel/config/examples/node.conf.example | 4 ++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/apps/emqx/test/emqx_cth_suite.erl b/apps/emqx/test/emqx_cth_suite.erl index 5fe4dce66..75c54400b 100644 --- a/apps/emqx/test/emqx_cth_suite.erl +++ b/apps/emqx/test/emqx_cth_suite.erl @@ -519,3 +519,14 @@ upgrade_raw_conf(Conf) -> ce -> emqx_conf_schema:upgrade_raw_conf(Conf) end. + +skip_if_oss() -> + try emqx_release:edition() of + ee -> + false; + _ -> + {skip, not_supported_in_oss} + catch + error:undef -> + {skip, standalone_not_supported} + end. diff --git a/apps/emqx_management/test/emqx_mgmt_cli_SUITE.erl b/apps/emqx_management/test/emqx_mgmt_cli_SUITE.erl index cb3451fc1..f85fdbe5b 100644 --- a/apps/emqx_management/test/emqx_mgmt_cli_SUITE.erl +++ b/apps/emqx_management/test/emqx_mgmt_cli_SUITE.erl @@ -22,7 +22,13 @@ -include_lib("common_test/include/ct.hrl"). all() -> - emqx_common_test_helpers:all(?MODULE). + All = emqx_common_test_helpers:all(?MODULE), + case emqx_cth_suite:skip_if_oss() of + false -> + All; + _ -> + All -- [t_autocluster_leave] + end. init_per_suite(Config) -> Apps = emqx_cth_suite:start( diff --git a/rel/config/examples/node.conf.example b/rel/config/examples/node.conf.example index 596e9884d..f4fd3288e 100644 --- a/rel/config/examples/node.conf.example +++ b/rel/config/examples/node.conf.example @@ -11,11 +11,11 @@ node { ## Secret cookie is a random string that should be the same on all nodes in the cluster, but unique per EMQX cluster cookie = "Yzc0NGExM2Rj" - ## Select a node role + ## Select a node role (Enterprise Edition feature) ## Possible values: ## - core: This is a core node which provides durability of the client states, and takes care of writes ## - replicant: This is a stateless worker node - role = core + ## role = core ## Maximum number of simultaneously existing processes for this Erlang system process_limit = 2097152 From 548bcceab7c0467e05ccb5c08a0c50f354bbd987 Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 16:28:00 +0200 Subject: [PATCH 03/11] test(auth): Remove redundant config --- .../test/emqx_authz/emqx_authz_api_cluster_SUITE.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/emqx_auth/test/emqx_authz/emqx_authz_api_cluster_SUITE.erl b/apps/emqx_auth/test/emqx_authz/emqx_authz_api_cluster_SUITE.erl index a77b3df51..3884dd052 100644 --- a/apps/emqx_auth/test/emqx_authz/emqx_authz_api_cluster_SUITE.erl +++ b/apps/emqx_auth/test/emqx_authz/emqx_authz_api_cluster_SUITE.erl @@ -118,8 +118,8 @@ mk_cluster_spec(Opts) -> Node1Apps = Apps ++ [{emqx_dashboard, "dashboard.listeners.http {enable=true,bind=18083}"}], Node2Apps = Apps, [ - {emqx_authz_api_cluster_SUITE1, Opts#{role => core, apps => Node1Apps}}, - {emqx_authz_api_cluster_SUITE2, Opts#{role => core, apps => Node2Apps}} + {emqx_authz_api_cluster_SUITE1, Opts#{apps => Node1Apps}}, + {emqx_authz_api_cluster_SUITE2, Opts#{apps => Node2Apps}} ]. request(Method, URL, Body, Config) -> From 41bf5cd6caa701d05d0d7b89931ea4f9ababe4ea Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 16:30:37 +0200 Subject: [PATCH 04/11] test(otel): Remove redundant config --- apps/emqx_opentelemetry/test/emqx_otel_trace_SUITE.erl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/emqx_opentelemetry/test/emqx_otel_trace_SUITE.erl b/apps/emqx_opentelemetry/test/emqx_otel_trace_SUITE.erl index a02cec3ef..9cf545cdc 100644 --- a/apps/emqx_opentelemetry/test/emqx_otel_trace_SUITE.erl +++ b/apps/emqx_opentelemetry/test/emqx_otel_trace_SUITE.erl @@ -414,9 +414,9 @@ mqtt_host_port(Node) -> cluster(TC, Config) -> Nodes = emqx_cth_cluster:start( [ - {otel_trace_core1, #{role => core, apps => apps_spec()}}, - {otel_trace_core2, #{role => core, apps => apps_spec()}}, - {otel_trace_replicant, #{role => replicant, apps => apps_spec()}} + {otel_trace_node1, #{apps => apps_spec()}}, + {otel_trace_node2, #{apps => apps_spec()}}, + {otel_trace_node3, #{apps => apps_spec()}} ], #{work_dir => emqx_cth_suite:work_dir(TC, Config)} ), From 1b6494ab9a6bf4b13ad1a79260ad11194dbe3ae4 Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 16:35:53 +0200 Subject: [PATCH 05/11] test(mgmt): Remove redundant config --- apps/emqx_management/test/emqx_mgmt_api_clients_SUITE.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/emqx_management/test/emqx_mgmt_api_clients_SUITE.erl b/apps/emqx_management/test/emqx_mgmt_api_clients_SUITE.erl index 398b48ab7..ef7b1fa54 100644 --- a/apps/emqx_management/test/emqx_mgmt_api_clients_SUITE.erl +++ b/apps/emqx_management/test/emqx_mgmt_api_clients_SUITE.erl @@ -107,8 +107,8 @@ init_per_group(persistent_sessions, Config) -> ], Dashboard = emqx_mgmt_api_test_util:emqx_dashboard(), Cluster = [ - {emqx_mgmt_api_clients_SUITE1, #{role => core, apps => AppSpecs ++ [Dashboard]}}, - {emqx_mgmt_api_clients_SUITE2, #{role => core, apps => AppSpecs}} + {emqx_mgmt_api_clients_SUITE1, #{apps => AppSpecs ++ [Dashboard]}}, + {emqx_mgmt_api_clients_SUITE2, #{apps => AppSpecs}} ], Nodes = [N1 | _] = emqx_cth_cluster:start( @@ -128,8 +128,8 @@ init_per_group(non_persistent_cluster, Config) -> ], Dashboard = emqx_mgmt_api_test_util:emqx_dashboard(), Cluster = [ - {mgmt_api_clients_SUITE1, #{role => core, apps => AppSpecs ++ [Dashboard]}}, - {mgmt_api_clients_SUITE2, #{role => core, apps => AppSpecs}} + {mgmt_api_clients_SUITE1, #{apps => AppSpecs ++ [Dashboard]}}, + {mgmt_api_clients_SUITE2, #{apps => AppSpecs}} ], Nodes = [N1 | _] = emqx_cth_cluster:start( From b7c424a13d0a5b9d2fa0fb5f034a8ad87f5e68d6 Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 16:36:44 +0200 Subject: [PATCH 06/11] test(persmsg): Remove redundant config --- apps/emqx/test/emqx_persistent_messages_SUITE.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx/test/emqx_persistent_messages_SUITE.erl b/apps/emqx/test/emqx_persistent_messages_SUITE.erl index f225ba43d..19dac4575 100644 --- a/apps/emqx/test/emqx_persistent_messages_SUITE.erl +++ b/apps/emqx/test/emqx_persistent_messages_SUITE.erl @@ -573,7 +573,7 @@ app_specs(Opts) -> cluster() -> ExtraConf = "\n durable_storage.messages.n_sites = 2", - Spec = #{role => core, apps => app_specs(#{extra_emqx_conf => ExtraConf})}, + Spec = #{apps => app_specs(#{extra_emqx_conf => ExtraConf})}, [ {persistent_messages_SUITE1, Spec}, {persistent_messages_SUITE2, Spec} From b8a2a8ea18066760f67f4f63aede2af56d0b37de Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 16:37:11 +0200 Subject: [PATCH 07/11] test(router): Skip certain tests on OSS --- apps/emqx/test/emqx_cth_suite.erl | 2 ++ apps/emqx/test/emqx_routing_SUITE.erl | 28 ++++++++++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/apps/emqx/test/emqx_cth_suite.erl b/apps/emqx/test/emqx_cth_suite.erl index 75c54400b..8e7c84580 100644 --- a/apps/emqx/test/emqx_cth_suite.erl +++ b/apps/emqx/test/emqx_cth_suite.erl @@ -79,6 +79,8 @@ %% "Unofficial" `emqx_config_handler' and `emqx_conf' APIs -export([schema_module/0, upgrade_raw_conf/1]). +-export([skip_if_oss/0]). + -export_type([appspec/0]). -export_type([appspec_opts/0]). diff --git a/apps/emqx/test/emqx_routing_SUITE.erl b/apps/emqx/test/emqx_routing_SUITE.erl index 5112059ca..1e66a6ef7 100644 --- a/apps/emqx/test/emqx_routing_SUITE.erl +++ b/apps/emqx/test/emqx_routing_SUITE.erl @@ -64,18 +64,28 @@ init_per_group(routing_schema_v2, Config) -> init_per_group(batch_sync_on, Config) -> [{emqx_config, "broker.routing.batch_sync.enable_on = all"} | Config]; init_per_group(batch_sync_replicants, Config) -> - [{emqx_config, "broker.routing.batch_sync.enable_on = replicant"} | Config]; + case emqx_cth_suite:skip_if_oss() of + false -> + [{emqx_config, "broker.routing.batch_sync.enable_on = replicant"} | Config]; + True -> + True + end; init_per_group(batch_sync_off, Config) -> [{emqx_config, "broker.routing.batch_sync.enable_on = none"} | Config]; init_per_group(cluster, Config) -> - WorkDir = emqx_cth_suite:work_dir(Config), - NodeSpecs = [ - {emqx_routing_SUITE1, #{apps => [mk_emqx_appspec(1, Config)], role => core}}, - {emqx_routing_SUITE2, #{apps => [mk_emqx_appspec(2, Config)], role => core}}, - {emqx_routing_SUITE3, #{apps => [mk_emqx_appspec(3, Config)], role => replicant}} - ], - Nodes = emqx_cth_cluster:start(NodeSpecs, #{work_dir => WorkDir}), - [{cluster, Nodes} | Config]; + case emqx_cth_suite:skip_if_oss() of + false -> + WorkDir = emqx_cth_suite:work_dir(Config), + NodeSpecs = [ + {emqx_routing_SUITE1, #{apps => [mk_emqx_appspec(1, Config)], role => core}}, + {emqx_routing_SUITE2, #{apps => [mk_emqx_appspec(2, Config)], role => core}}, + {emqx_routing_SUITE3, #{apps => [mk_emqx_appspec(3, Config)], role => replicant}} + ], + Nodes = emqx_cth_cluster:start(NodeSpecs, #{work_dir => WorkDir}), + [{cluster, Nodes} | Config]; + True -> + True + end; init_per_group(GroupName, Config) when GroupName =:= single_batch_on; GroupName =:= single From 8c1302f455b96aa8b8c8709b6e311eab2680197f Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 17:02:21 +0200 Subject: [PATCH 08/11] test(conf_app): Remove redundand config --- apps/emqx_conf/test/emqx_conf_app_SUITE.erl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/emqx_conf/test/emqx_conf_app_SUITE.erl b/apps/emqx_conf/test/emqx_conf_app_SUITE.erl index 5ba3f0b49..711274aaa 100644 --- a/apps/emqx_conf/test/emqx_conf_app_SUITE.erl +++ b/apps/emqx_conf/test/emqx_conf_app_SUITE.erl @@ -30,7 +30,7 @@ t_copy_conf_override_on_restarts(Config) -> ct:timetrap({seconds, 120}), Cluster = cluster( ?FUNCTION_NAME, - [cluster_spec({core, 1}), cluster_spec({core, 2}), cluster_spec({core, 3})], + [cluster_spec(1), cluster_spec(2), cluster_spec(3)], Config ), @@ -59,7 +59,7 @@ t_copy_new_data_dir(Config) -> ct:timetrap({seconds, 120}), Cluster = cluster( ?FUNCTION_NAME, - [cluster_spec({core, 4}), cluster_spec({core, 5}), cluster_spec({core, 6})], + [cluster_spec(4), cluster_spec(5), cluster_spec(6)], Config ), @@ -84,7 +84,7 @@ t_copy_deprecated_data_dir(Config) -> ct:timetrap({seconds, 120}), Cluster = cluster( ?FUNCTION_NAME, - [cluster_spec({core, 7}), cluster_spec({core, 8}), cluster_spec({core, 9})], + [cluster_spec(7), cluster_spec(8), cluster_spec(9)], Config ), @@ -109,7 +109,7 @@ t_no_copy_from_newer_version_node(Config) -> ct:timetrap({seconds, 120}), Cluster = cluster( ?FUNCTION_NAME, - [cluster_spec({core, 10}), cluster_spec({core, 11}), cluster_spec({core, 12})], + [cluster_spec(10), cluster_spec(11), cluster_spec(12)], Config ), OKs = [ok, ok, ok], @@ -242,12 +242,12 @@ cluster(TC, Specs, Config) -> {emqx_conf, #{}} ], emqx_cth_cluster:mk_nodespecs( - [{Name, #{role => Role, apps => Apps}} || {Role, Name} <- Specs], + [{Name, #{apps => Apps}} || Name <- Specs], #{work_dir => emqx_cth_suite:work_dir(TC, Config)} ). -cluster_spec({Type, Num}) -> - {Type, list_to_atom(atom_to_list(?MODULE) ++ integer_to_list(Num))}. +cluster_spec(Num) -> + list_to_atom(atom_to_list(?MODULE) ++ integer_to_list(Num)). sort_highest_uptime(Nodes) -> Ranking = lists:sort([{-get_node_uptime(N), N} || N <- Nodes]), From 268f887700eb470403fdd7f44e6c6a71b36a349b Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 20:24:53 +0200 Subject: [PATCH 09/11] test(mgmt): Disable certain tests on OSS --- apps/emqx_enterprise/src/emqx_enterprise_schema.erl | 1 - apps/emqx_management/test/emqx_mgmt_api_cluster_SUITE.erl | 7 ++++++- .../test/emqx_mgmt_api_data_backup_SUITE.erl | 7 ++++++- apps/emqx_management/test/emqx_mgmt_data_backup_SUITE.erl | 7 ++++++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/emqx_enterprise/src/emqx_enterprise_schema.erl b/apps/emqx_enterprise/src/emqx_enterprise_schema.erl index 571757c75..2665afcf7 100644 --- a/apps/emqx_enterprise/src/emqx_enterprise_schema.erl +++ b/apps/emqx_enterprise/src/emqx_enterprise_schema.erl @@ -5,7 +5,6 @@ -module(emqx_enterprise_schema). -behaviour(hocon_schema). --behaviour(emqx_schema_hooks). -include_lib("typerefl/include/types.hrl"). -include_lib("hocon/include/hoconsc.hrl"). diff --git a/apps/emqx_management/test/emqx_mgmt_api_cluster_SUITE.erl b/apps/emqx_management/test/emqx_mgmt_api_cluster_SUITE.erl index 113468f0b..135d2103a 100644 --- a/apps/emqx_management/test/emqx_mgmt_api_cluster_SUITE.erl +++ b/apps/emqx_management/test/emqx_mgmt_api_cluster_SUITE.erl @@ -24,7 +24,12 @@ -define(APPS, [emqx_conf, emqx_management]). all() -> - emqx_common_test_helpers:all(?MODULE). + case emqx_cth_suite:skip_if_oss() of + false -> + emqx_common_test_helpers:all(?MODULE); + True -> + True + end. init_per_suite(Config) -> Config. diff --git a/apps/emqx_management/test/emqx_mgmt_api_data_backup_SUITE.erl b/apps/emqx_management/test/emqx_mgmt_api_data_backup_SUITE.erl index 6a580fd57..994d34798 100644 --- a/apps/emqx_management/test/emqx_mgmt_api_data_backup_SUITE.erl +++ b/apps/emqx_management/test/emqx_mgmt_api_data_backup_SUITE.erl @@ -36,7 +36,12 @@ ). all() -> - emqx_common_test_helpers:all(?MODULE). + case emqx_cth_suite:skip_if_oss() of + false -> + emqx_common_test_helpers:all(?MODULE); + True -> + True + end. init_per_suite(Config) -> Config. diff --git a/apps/emqx_management/test/emqx_mgmt_data_backup_SUITE.erl b/apps/emqx_management/test/emqx_mgmt_data_backup_SUITE.erl index 9a3d3971c..80fac8c30 100644 --- a/apps/emqx_management/test/emqx_mgmt_data_backup_SUITE.erl +++ b/apps/emqx_management/test/emqx_mgmt_data_backup_SUITE.erl @@ -52,7 +52,12 @@ >>). all() -> - emqx_common_test_helpers:all(?MODULE). + case emqx_cth_suite:skip_if_oss() of + false -> + emqx_common_test_helpers:all(?MODULE); + True -> + True + end. init_per_suite(Config) -> Config. From 8036baf22cafe56c1cf94d20e16e119b1d027dca Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 26 Jul 2024 21:53:03 +0200 Subject: [PATCH 10/11] test(paho): Run RLOG paho test with replicants only on EE --- .github/workflows/run_docker_tests.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_docker_tests.yaml b/.github/workflows/run_docker_tests.yaml index 9c695c4a6..63ea41416 100644 --- a/.github/workflows/run_docker_tests.yaml +++ b/.github/workflows/run_docker_tests.yaml @@ -69,7 +69,6 @@ jobs: shell: bash env: EMQX_NAME: ${{ matrix.profile }} - _EMQX_TEST_DB_BACKEND: ${{ matrix.cluster_db_backend }} strategy: fail-fast: false @@ -78,15 +77,17 @@ jobs: - emqx - emqx-enterprise - emqx-elixir - cluster_db_backend: - - mnesia - - rlog steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Set up environment id: env run: | source env.sh + if [ "$EMQX_NAME" = "emqx-interprise" ]; then + _EMQX_TEST_DB_BACKEND='rlog' + else + _EMQX_TEST_DB_BACKEND='mnesia' + fi PKG_VSN=$(docker run --rm -v $(pwd):$(pwd) -w $(pwd) -u $(id -u) "$EMQX_BUILDER" ./pkg-vsn.sh "$EMQX_NAME") echo "PKG_VSN=$PKG_VSN" >> "$GITHUB_ENV" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 From f85db0a0e964496da36632e8a9824d066dce475c Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Mon, 29 Jul 2024 17:22:41 +0200 Subject: [PATCH 11/11] fix: Apply suggestions from code review Co-authored-by: Thales Macedo Garitezi --- .github/workflows/run_docker_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_docker_tests.yaml b/.github/workflows/run_docker_tests.yaml index 63ea41416..17d5395b2 100644 --- a/.github/workflows/run_docker_tests.yaml +++ b/.github/workflows/run_docker_tests.yaml @@ -83,7 +83,7 @@ jobs: id: env run: | source env.sh - if [ "$EMQX_NAME" = "emqx-interprise" ]; then + if [ "$EMQX_NAME" = "emqx-enterprise" ]; then _EMQX_TEST_DB_BACKEND='rlog' else _EMQX_TEST_DB_BACKEND='mnesia'