From 47b962b49b86714887cbcc22292aa15c46977987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=90=E6=96=87?= Date: Sun, 28 May 2023 23:11:47 +0800 Subject: [PATCH 1/5] feat: support emqx_conf:update([license],Conf) --- lib-ee/emqx_license/src/emqx_license.erl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib-ee/emqx_license/src/emqx_license.erl b/lib-ee/emqx_license/src/emqx_license.erl index 3e29dcf25..0918293a6 100644 --- a/lib-ee/emqx_license/src/emqx_license.erl +++ b/lib-ee/emqx_license/src/emqx_license.erl @@ -122,9 +122,9 @@ do_update({key, Content}, Conf) when is_binary(Content); is_list(Content) -> {error, Reason} -> erlang:throw(Reason) end; -%% We don't do extra action when update license's watermark. -do_update(_Other, Conf) -> - Conf. +do_update(NewConf, _PrevConf) -> + #{<<"key">> := NewKey} = NewConf, + do_update({key, NewKey}, NewConf). check_max_clients_exceeded(MaxClients) -> emqx_license_resources:connection_count() > MaxClients * 1.1. From 2d2062e504033108980ddbe06593385ad98c9ea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=90=E6=96=87?= Date: Sun, 28 May 2023 23:11:47 +0800 Subject: [PATCH 2/5] feat: support emqx_conf:update([license],Conf) --- lib-ee/emqx_license/src/emqx_license.erl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib-ee/emqx_license/src/emqx_license.erl b/lib-ee/emqx_license/src/emqx_license.erl index 3e29dcf25..0918293a6 100644 --- a/lib-ee/emqx_license/src/emqx_license.erl +++ b/lib-ee/emqx_license/src/emqx_license.erl @@ -122,9 +122,9 @@ do_update({key, Content}, Conf) when is_binary(Content); is_list(Content) -> {error, Reason} -> erlang:throw(Reason) end; -%% We don't do extra action when update license's watermark. -do_update(_Other, Conf) -> - Conf. +do_update(NewConf, _PrevConf) -> + #{<<"key">> := NewKey} = NewConf, + do_update({key, NewKey}, NewConf). check_max_clients_exceeded(MaxClients) -> emqx_license_resources:connection_count() > MaxClients * 1.1. From e065904583292ceb5064ac591211eb16c8d02600 Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Mon, 29 May 2023 18:19:59 +0800 Subject: [PATCH 3/5] test: add license cli test --- .../emqx_dashboard/src/emqx_dashboard.app.src | 2 +- apps/emqx_machine/src/emqx_machine.app.src | 2 +- .../test/emqx_license_cli_SUITE.erl | 26 +++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/apps/emqx_dashboard/src/emqx_dashboard.app.src b/apps/emqx_dashboard/src/emqx_dashboard.app.src index 02fbdfb74..04658ab3c 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard.app.src +++ b/apps/emqx_dashboard/src/emqx_dashboard.app.src @@ -2,7 +2,7 @@ {application, emqx_dashboard, [ {description, "EMQX Web Dashboard"}, % strict semver, bump manually! - {vsn, "5.0.21"}, + {vsn, "5.0.22"}, {modules, []}, {registered, [emqx_dashboard_sup]}, {applications, [kernel, stdlib, mnesia, minirest, emqx, emqx_ctl]}, diff --git a/apps/emqx_machine/src/emqx_machine.app.src b/apps/emqx_machine/src/emqx_machine.app.src index 7cf0e4b53..5cfa80369 100644 --- a/apps/emqx_machine/src/emqx_machine.app.src +++ b/apps/emqx_machine/src/emqx_machine.app.src @@ -3,7 +3,7 @@ {id, "emqx_machine"}, {description, "The EMQX Machine"}, % strict semver, bump manually! - {vsn, "0.2.4"}, + {vsn, "0.2.5"}, {modules, []}, {registered, []}, {applications, [kernel, stdlib, emqx_ctl]}, diff --git a/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl b/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl index 630880f01..eb7f66072 100644 --- a/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl +++ b/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl @@ -53,3 +53,29 @@ t_update(_Config) -> _ = emqx_license_cli:license(["update", LicenseValue]), _ = emqx_license_cli:license(["reload"]), _ = emqx_license_cli:license(["update", "Invalid License Value"]). + +t_conf_update(_Config) -> + ok = persistent_term:put( + emqx_license_test_pubkey, + emqx_license_test_lib:public_key_pem() + ), + LicenseKey = emqx_license_test_lib:make_license(#{max_connections => "123"}), + Conf = #{ + <<"connection_high_watermark">> => <<"50%">>, + <<"connection_low_watermark">> => <<"45%">>, + <<"key">> => LicenseKey + }, + ?assertMatch({ok, _}, emqx:update_config([license], Conf)), + ?assertEqual( + #{ + connection_high_watermark => 0.5, + connection_low_watermark => 0.45, + key => LicenseKey + }, + emqx:get_config([license]) + ), + ?assertMatch( + #{max_connections := 123}, + maps:from_list(emqx_license_checker:dump()) + ), + ok. From f4549d280be3261ef227cb5fb763f54317a112b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=90=E6=96=87?= Date: Mon, 29 May 2023 22:01:46 +0800 Subject: [PATCH 4/5] test: earse license after cli ct test --- lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl b/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl index eb7f66072..1c6282262 100644 --- a/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl +++ b/lib-ee/emqx_license/test/emqx_license_cli_SUITE.erl @@ -24,10 +24,15 @@ end_per_suite(_) -> ok. init_per_testcase(_Case, Config) -> + ok = persistent_term:put( + emqx_license_test_pubkey, + emqx_license_test_lib:public_key_pem() + ), {ok, _} = emqx_cluster_rpc:start_link(node(), emqx_cluster_rpc, 1000), Config. end_per_testcase(_Case, _Config) -> + persistent_term:erase(emqx_license_test_pubkey), ok. set_special_configs(emqx_license) -> @@ -55,10 +60,6 @@ t_update(_Config) -> _ = emqx_license_cli:license(["update", "Invalid License Value"]). t_conf_update(_Config) -> - ok = persistent_term:put( - emqx_license_test_pubkey, - emqx_license_test_lib:public_key_pem() - ), LicenseKey = emqx_license_test_lib:make_license(#{max_connections => "123"}), Conf = #{ <<"connection_high_watermark">> => <<"50%">>, From 4a2c7e48a55ed5c0c898e8e1f21a52442515c6b9 Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Wed, 31 May 2023 09:28:10 +0800 Subject: [PATCH 5/5] chore: update license app.src version --- lib-ee/emqx_license/src/emqx_license.app.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib-ee/emqx_license/src/emqx_license.app.src b/lib-ee/emqx_license/src/emqx_license.app.src index 354385faf..2f21b8a52 100644 --- a/lib-ee/emqx_license/src/emqx_license.app.src +++ b/lib-ee/emqx_license/src/emqx_license.app.src @@ -1,6 +1,6 @@ {application, emqx_license, [ {description, "EMQX License"}, - {vsn, "5.0.10"}, + {vsn, "5.0.11"}, {modules, []}, {registered, [emqx_license_sup]}, {applications, [kernel, stdlib, emqx_ctl]},