Merge pull request #10807 from zmstone/0524-delete-license-installer
0524 delete license installer
This commit is contained in:
commit
a0d4120f8c
|
@ -0,0 +1 @@
|
|||
Removed license check debug logs.
|
|
@ -1,6 +1,6 @@
|
|||
{application, emqx_license, [
|
||||
{description, "EMQX License"},
|
||||
{vsn, "5.0.9"},
|
||||
{vsn, "5.0.10"},
|
||||
{modules, []},
|
||||
{registered, [emqx_license_sup]},
|
||||
{applications, [kernel, stdlib, emqx_ctl]},
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
%%--------------------------------------------------------------------
|
||||
%% Copyright (c) 2022-2023 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
-module(emqx_license).
|
||||
|
||||
-include("emqx_license.hrl").
|
||||
|
|
|
@ -117,7 +117,7 @@ handle_cast(_Msg, State) ->
|
|||
handle_info(check_license, #{license := License} = State) ->
|
||||
#{} = check_license(License),
|
||||
NewState = ensure_check_license_timer(State),
|
||||
?tp(debug, emqx_license_checked, #{}),
|
||||
?tp(emqx_license_checked, #{}),
|
||||
{noreply, NewState};
|
||||
handle_info(check_expiry_alarm, #{license := License} = State) ->
|
||||
ok = expiry_early_alarm(License),
|
||||
|
|
|
@ -1,86 +0,0 @@
|
|||
%%--------------------------------------------------------------------
|
||||
%% Copyright (c) 2022-2023 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||
%%--------------------------------------------------------------------
|
||||
-module(emqx_license_installer).
|
||||
|
||||
-include_lib("snabbkaffe/include/snabbkaffe.hrl").
|
||||
|
||||
-behaviour(gen_server).
|
||||
|
||||
-export([
|
||||
start_link/1,
|
||||
start_link/4
|
||||
]).
|
||||
|
||||
%% gen_server callbacks
|
||||
-export([
|
||||
init/1,
|
||||
handle_call/3,
|
||||
handle_cast/2,
|
||||
handle_info/2
|
||||
]).
|
||||
|
||||
-define(NAME, emqx).
|
||||
-define(INTERVAL, 5000).
|
||||
|
||||
%%------------------------------------------------------------------------------
|
||||
%% API
|
||||
%%------------------------------------------------------------------------------
|
||||
|
||||
start_link(Callback) ->
|
||||
start_link(?NAME, ?MODULE, ?INTERVAL, Callback).
|
||||
|
||||
start_link(Name, ServerName, Interval, Callback) ->
|
||||
gen_server:start_link({local, ServerName}, ?MODULE, [Name, Interval, Callback], []).
|
||||
|
||||
%%------------------------------------------------------------------------------
|
||||
%% gen_server callbacks
|
||||
%%------------------------------------------------------------------------------
|
||||
|
||||
init([Name, Interval, Callback]) ->
|
||||
Pid = whereis(Name),
|
||||
State = #{
|
||||
interval => Interval,
|
||||
name => Name,
|
||||
pid => Pid,
|
||||
callback => Callback
|
||||
},
|
||||
{ok, ensure_timer(State)}.
|
||||
|
||||
handle_call(_Req, _From, State) ->
|
||||
{reply, unknown, State}.
|
||||
|
||||
handle_cast(_Msg, State) ->
|
||||
{noreply, State}.
|
||||
|
||||
handle_info({timeout, Timer, check_pid}, #{timer := Timer} = State) ->
|
||||
NewState = check_pid(State),
|
||||
{noreply, ensure_timer(NewState)};
|
||||
handle_info(_Msg, State) ->
|
||||
{noreply, State}.
|
||||
|
||||
%%------------------------------------------------------------------------------
|
||||
%% Private functions
|
||||
%%------------------------------------------------------------------------------
|
||||
|
||||
ensure_timer(#{interval := Interval} = State) ->
|
||||
_ =
|
||||
case State of
|
||||
#{timer := Timer} -> erlang:cancel_timer(Timer);
|
||||
_ -> ok
|
||||
end,
|
||||
State#{timer => erlang:start_timer(Interval, self(), check_pid)}.
|
||||
|
||||
check_pid(#{name := Name, pid := OldPid, callback := Callback} = State) ->
|
||||
case whereis(Name) of
|
||||
undefined ->
|
||||
?tp(debug, emqx_license_installer_noproc, #{old_pid => OldPid}),
|
||||
State;
|
||||
OldPid ->
|
||||
?tp(debug, emqx_license_installer_nochange, #{old_pid => OldPid}),
|
||||
State;
|
||||
NewPid ->
|
||||
_ = Callback(),
|
||||
?tp(debug, emqx_license_installer_called, #{old_pid => OldPid}),
|
||||
State#{pid => NewPid}
|
||||
end.
|
|
@ -76,7 +76,7 @@ handle_cast(_Msg, State) ->
|
|||
handle_info(update_resources, State) ->
|
||||
true = update_resources(),
|
||||
connection_quota_early_alarm(),
|
||||
?tp(debug, emqx_license_resources_updated, #{}),
|
||||
?tp(emqx_license_resources_updated, #{}),
|
||||
{noreply, ensure_timer(State)}.
|
||||
|
||||
terminate(_Reason, _State) ->
|
||||
|
|
|
@ -41,15 +41,6 @@ init([]) ->
|
|||
shutdown => 5000,
|
||||
type => worker,
|
||||
modules => [emqx_license_resources]
|
||||
},
|
||||
|
||||
#{
|
||||
id => license_installer,
|
||||
start => {emqx_license_installer, start_link, [fun emqx_license:load/0]},
|
||||
restart => permanent,
|
||||
shutdown => 5000,
|
||||
type => worker,
|
||||
modules => [emqx_license_installer]
|
||||
}
|
||||
]
|
||||
}}.
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
%%--------------------------------------------------------------------
|
||||
%% Copyright (c) 2022-2023 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
-module(emqx_license_installer_SUITE).
|
||||
|
||||
-compile(nowarn_export_all).
|
||||
-compile(export_all).
|
||||
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("common_test/include/ct.hrl").
|
||||
-include_lib("snabbkaffe/include/snabbkaffe.hrl").
|
||||
|
||||
all() ->
|
||||
emqx_common_test_helpers:all(?MODULE).
|
||||
|
||||
init_per_suite(Config) ->
|
||||
_ = application:load(emqx_conf),
|
||||
emqx_common_test_helpers:start_apps([emqx_license], fun set_special_configs/1),
|
||||
Config.
|
||||
|
||||
end_per_suite(_) ->
|
||||
emqx_common_test_helpers:stop_apps([emqx_license]),
|
||||
ok.
|
||||
|
||||
init_per_testcase(_Case, Config) ->
|
||||
{ok, _} = emqx_cluster_rpc:start_link(node(), emqx_cluster_rpc, 1000),
|
||||
Config.
|
||||
|
||||
end_per_testcase(_Case, _Config) ->
|
||||
ok.
|
||||
|
||||
set_special_configs(emqx_license) ->
|
||||
Config = #{key => emqx_license_test_lib:default_license()},
|
||||
emqx_config:put([license], Config);
|
||||
set_special_configs(_) ->
|
||||
ok.
|
||||
|
||||
%%------------------------------------------------------------------------------
|
||||
%% Tests
|
||||
%%------------------------------------------------------------------------------
|
||||
|
||||
t_update(_Config) ->
|
||||
?check_trace(
|
||||
begin
|
||||
?wait_async_action(
|
||||
begin
|
||||
Pid0 = spawn_link(fun() ->
|
||||
receive
|
||||
exit -> ok
|
||||
end
|
||||
end),
|
||||
register(installer_test, Pid0),
|
||||
|
||||
{ok, _} = emqx_license_installer:start_link(
|
||||
installer_test,
|
||||
?MODULE,
|
||||
10,
|
||||
fun() -> ok end
|
||||
),
|
||||
|
||||
{ok, _} = ?block_until(
|
||||
#{?snk_kind := emqx_license_installer_nochange},
|
||||
100
|
||||
),
|
||||
|
||||
Pid0 ! exit,
|
||||
|
||||
{ok, _} = ?block_until(
|
||||
#{?snk_kind := emqx_license_installer_noproc},
|
||||
100
|
||||
),
|
||||
|
||||
Pid1 = spawn_link(fun() -> timer:sleep(100) end),
|
||||
register(installer_test, Pid1)
|
||||
end,
|
||||
#{?snk_kind := emqx_license_installer_called},
|
||||
1000
|
||||
)
|
||||
end,
|
||||
fun(Trace) ->
|
||||
?assertMatch([_ | _], ?of_kind(emqx_license_installer_called, Trace))
|
||||
end
|
||||
).
|
||||
|
||||
t_unknown_calls(_Config) ->
|
||||
ok = gen_server:cast(emqx_license_installer, some_cast),
|
||||
some_msg = erlang:send(emqx_license_installer, some_msg),
|
||||
?assertEqual(unknown, gen_server:call(emqx_license_installer, some_request)).
|
Loading…
Reference in New Issue