fix: delete plugin from configure when uninstall

This commit is contained in:
Zhongwen Deng 2022-04-29 00:53:18 +08:00
parent 8528d76371
commit 35d066e3d5
2 changed files with 9 additions and 2 deletions

View File

@ -421,7 +421,7 @@ delete_package(Name) ->
case emqx_plugins:ensure_stopped(Name) of case emqx_plugins:ensure_stopped(Name) of
ok -> ok ->
_ = emqx_plugins:ensure_disabled(Name), _ = emqx_plugins:ensure_disabled(Name),
_ = emqx_plugins:purge(Name), _ = emqx_plugins:ensure_uninstalled(Name),
_ = emqx_plugins:delete_package(Name); _ = emqx_plugins:delete_package(Name);
Error -> Error ->
Error Error

View File

@ -127,9 +127,16 @@ ensure_uninstalled(NameVsn) ->
hint => "disable_the_plugin_first" hint => "disable_the_plugin_first"
}}; }};
_ -> _ ->
purge(NameVsn) purge(NameVsn),
ensure_delete(NameVsn)
end. end.
ensure_delete(NameVsn0) ->
NameVsn = bin(NameVsn0),
List = configured(),
put_configured(lists:filter(fun(#{name_vsn := N1}) -> bin(N1) =/= NameVsn end, List)),
ok.
%% @doc Ensure a plugin is enabled to the end of the plugins list. %% @doc Ensure a plugin is enabled to the end of the plugins list.
-spec ensure_enabled(name_vsn()) -> ok | {error, any()}. -spec ensure_enabled(name_vsn()) -> ok | {error, any()}.
ensure_enabled(NameVsn) -> ensure_enabled(NameVsn) ->