summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <pkuryloski@pivotal.io>2020-04-21 10:17:56 +0200
committerPhilip Kuryloski <pkuryloski@pivotal.io>2020-04-21 15:38:10 +0200
commitfc18ca9c57d51ed47f0ad5dd1e9e911583b1597d (patch)
treec7e4bceeca946124b6f379296320db2821ed431b
parentf8a8fe0ca9abedc51454a65ba3fdcd1e31f8de25 (diff)
downloadrabbitmq-server-git-fc18ca9c57d51ed47f0ad5dd1e9e911583b1597d.tar.gz
Correct a dependency of rabbit_prelaunch on rabbitenabled_plugins_2234
apps/rabbit_prelaunch should not depend on rabbit, since rabbit already depends on apps/rabbit_prelaunch. So, rabbit_plugins:maybe_migrate_enabled_plugins_file/1 becomes rabbit_prelaunch_plugins:maybe_migrate_enabled_plugins_file/1.
-rw-r--r--apps/rabbitmq_prelaunch/src/rabbit_prelaunch.erl2
-rw-r--r--apps/rabbitmq_prelaunch/src/rabbit_prelaunch_plugins.erl40
-rw-r--r--src/rabbit_plugins.erl40
-rw-r--r--test/rabbit_prelaunch_plugins_SUITE.erl (renamed from test/rabbit_plugins_SUITE.erl)12
4 files changed, 48 insertions, 46 deletions
diff --git a/apps/rabbitmq_prelaunch/src/rabbit_prelaunch.erl b/apps/rabbitmq_prelaunch/src/rabbit_prelaunch.erl
index b9c4e06258..7ac19237b3 100644
--- a/apps/rabbitmq_prelaunch/src/rabbit_prelaunch.erl
+++ b/apps/rabbitmq_prelaunch/src/rabbit_prelaunch.erl
@@ -93,7 +93,7 @@ do_run() ->
Context2 = rabbit_env:get_context_after_reloading_env(Context1),
%% Migrate the enabled_plugins file to the new location if necessary
- Context3 = rabbit_plugins:maybe_migrate_enabled_plugins_file(Context2),
+ Context3 = rabbit_prelaunch_plugins:maybe_migrate_enabled_plugins_file(Context2),
?assertMatch(#{}, Context3),
store_context(Context3),
diff --git a/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_plugins.erl b/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_plugins.erl
new file mode 100644
index 0000000000..efb849382b
--- /dev/null
+++ b/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_plugins.erl
@@ -0,0 +1,40 @@
+-module(rabbit_prelaunch_plugins).
+
+-include_lib("kernel/include/file.hrl").
+
+-export([maybe_migrate_enabled_plugins_file/1]).
+
+-define(ENABLED_PLUGINS_FILENAME, "enabled_plugins").
+
+-spec maybe_migrate_enabled_plugins_file(map()) -> map().
+maybe_migrate_enabled_plugins_file(#{enabled_plugins_file := EnabledPluginsFile} = Context)
+ when EnabledPluginsFile =/= undefined ->
+ Context;
+maybe_migrate_enabled_plugins_file(#{os_type := {unix, _},
+ config_base_dir := ConfigBaseDir,
+ data_dir := DataDir} = Context) ->
+ ModernLocation = filename:join(DataDir, ?ENABLED_PLUGINS_FILENAME),
+ LegacyLocation = filename:join(ConfigBaseDir, ?ENABLED_PLUGINS_FILENAME),
+ case {filelib:is_regular(ModernLocation),
+ file:read_file_info(LegacyLocation)} of
+ {false, {ok, #file_info{access = read_write}}} ->
+ rabbit_log_prelaunch:info("NOTICE: Using 'enabled_plugins' file"
+ " from ~p. Please migrate this file"
+ " to its new location, ~p, as the"
+ " previous location is deprecated.",
+ [LegacyLocation, ModernLocation]),
+ Context#{enabled_plugins_file := LegacyLocation};
+ {false, {ok, #file_info{access = read}}} ->
+ {ok, _} = file:copy(LegacyLocation, ModernLocation),
+ rabbit_log_prelaunch:info("NOTICE: An 'enabled_plugins' file was"
+ " found at ~p but was not read and"
+ " writable. It has been copied to its"
+ " new location at ~p and any changes"
+ " to plugin status will be reflected"
+ " there.", [LegacyLocation, ModernLocation]),
+ Context#{enabled_plugins_file := ModernLocation};
+ _ ->
+ Context#{enabled_plugins_file := ModernLocation}
+ end;
+maybe_migrate_enabled_plugins_file(#{data_dir := DataDir} = Context) ->
+ Context#{enabled_plugins_file := filename:join(DataDir, ?ENABLED_PLUGINS_FILENAME)}.
diff --git a/src/rabbit_plugins.erl b/src/rabbit_plugins.erl
index 6d09f8c76a..17790c0f6c 100644
--- a/src/rabbit_plugins.erl
+++ b/src/rabbit_plugins.erl
@@ -23,18 +23,13 @@
-export([ensure/1]).
-export([validate_plugins/1, format_invalid_plugins/1]).
-export([is_strictly_plugin/1, strictly_plugins/2, strictly_plugins/1]).
--export([plugins_dir/0, plugin_names/1, plugins_expand_dir/0, enabled_plugins_file/0,
- maybe_migrate_enabled_plugins_file/1]).
+-export([plugins_dir/0, plugin_names/1, plugins_expand_dir/0, enabled_plugins_file/0]).
% Export for testing purpose.
-export([is_version_supported/2, validate_plugins/2]).
%%----------------------------------------------------------------------------
--define(ENABLED_PLUGINS_FILENAME, "enabled_plugins").
-
-%%----------------------------------------------------------------------------
-
-type plugin_name() :: atom().
%%----------------------------------------------------------------------------
@@ -113,39 +108,6 @@ enabled_plugins_file() ->
filename:join([rabbit_mnesia:dir(), "enabled_plugins"])
end.
--spec maybe_migrate_enabled_plugins_file(map()) -> map().
-maybe_migrate_enabled_plugins_file(#{enabled_plugins_file := EnabledPluginsFile} = Context)
- when EnabledPluginsFile =/= undefined ->
- Context;
-maybe_migrate_enabled_plugins_file(#{os_type := {unix, _},
- config_base_dir := ConfigBaseDir,
- data_dir := DataDir} = Context) ->
- ModernLocation = filename:join(DataDir, ?ENABLED_PLUGINS_FILENAME),
- LegacyLocation = filename:join(ConfigBaseDir, ?ENABLED_PLUGINS_FILENAME),
- case {filelib:is_regular(ModernLocation),
- file:read_file_info(LegacyLocation)} of
- {false, {ok, #file_info{access = read_write}}} ->
- rabbit_log_prelaunch:info("NOTICE: Using 'enabled_plugins' file"
- " from ~p. Please migrate this file"
- " to its new location, ~p, as the"
- " previous location is deprecated.",
- [LegacyLocation, ModernLocation]),
- Context#{enabled_plugins_file := LegacyLocation};
- {false, {ok, #file_info{access = read}}} ->
- {ok, _} = file:copy(LegacyLocation, ModernLocation),
- rabbit_log_prelaunch:info("NOTICE: An 'enabled_plugins' file was"
- " found at ~p but was not read and"
- " writable. It has been copied to its"
- " new location at ~p and any changes"
- " to plugin status will be reflected"
- " there.", [LegacyLocation, ModernLocation]),
- Context#{enabled_plugins_file := ModernLocation};
- _ ->
- Context#{enabled_plugins_file := ModernLocation}
- end;
-maybe_migrate_enabled_plugins_file(#{data_dir := DataDir} = Context) ->
- Context#{enabled_plugins_file := filename:join(DataDir, ?ENABLED_PLUGINS_FILENAME)}.
-
-spec enabled_plugins() -> [atom()].
enabled_plugins() ->
case application:get_env(rabbit, enabled_plugins_file) of
diff --git a/test/rabbit_plugins_SUITE.erl b/test/rabbit_prelaunch_plugins_SUITE.erl
index f362caf415..de9e02980f 100644
--- a/test/rabbit_plugins_SUITE.erl
+++ b/test/rabbit_prelaunch_plugins_SUITE.erl
@@ -14,7 +14,7 @@
%% Copyright (c) 2019-2020 VMware, Inc. or its affiliates. All rights reserved.
%%
--module(rabbit_plugins_SUITE).
+-module(rabbit_prelaunch_plugins_SUITE).
-include_lib("common_test/include/ct.hrl").
-include_lib("eunit/include/eunit.hrl").
@@ -100,7 +100,7 @@ end_per_testcase(_, Config) ->
check_enabled_plugins_file_passthrough(_) ->
Context = #{enabled_plugins_file => "/some/dir/enabled_plugins"},
?assertMatch(#{enabled_plugins_file := "/some/dir/enabled_plugins"},
- rabbit_plugins:maybe_migrate_enabled_plugins_file(Context)).
+ rabbit_prelaunch_plugins:maybe_migrate_enabled_plugins_file(Context)).
check_enabled_plugins_file_modern(Config) ->
DataDir = proplists:get_value(rabbit_data_dir, Config),
@@ -113,7 +113,7 @@ check_enabled_plugins_file_modern(Config) ->
data_dir => DataDir,
enabled_plugins_file => undefined},
?assertMatch(#{enabled_plugins_file := ExpectedLocation},
- rabbit_plugins:maybe_migrate_enabled_plugins_file(Context)).
+ rabbit_prelaunch_plugins:maybe_migrate_enabled_plugins_file(Context)).
check_enabled_plugins_file_default(Config) ->
DataDir = proplists:get_value(rabbit_data_dir, Config),
@@ -127,7 +127,7 @@ check_enabled_plugins_file_default(Config) ->
data_dir => DataDir,
enabled_plugins_file => undefined},
?assertMatch(#{enabled_plugins_file := ExpectedLocation},
- rabbit_plugins:maybe_migrate_enabled_plugins_file(Context)).
+ rabbit_prelaunch_plugins:maybe_migrate_enabled_plugins_file(Context)).
check_enabled_plugins_file_legacy(Config) ->
DataDir = proplists:get_value(rabbit_data_dir, Config),
@@ -141,7 +141,7 @@ check_enabled_plugins_file_legacy(Config) ->
data_dir => DataDir,
enabled_plugins_file => undefined},
?assertMatch(#{enabled_plugins_file := ExpectedLocation},
- rabbit_plugins:maybe_migrate_enabled_plugins_file(Context)).
+ rabbit_prelaunch_plugins:maybe_migrate_enabled_plugins_file(Context)).
check_enabled_plugins_file_copy(Config) ->
DataDir = proplists:get_value(rabbit_data_dir, Config),
@@ -157,7 +157,7 @@ check_enabled_plugins_file_copy(Config) ->
data_dir => DataDir,
enabled_plugins_file => undefined},
?assertMatch(#{enabled_plugins_file := ExpectedLocation},
- rabbit_plugins:maybe_migrate_enabled_plugins_file(Context)),
+ rabbit_prelaunch_plugins:maybe_migrate_enabled_plugins_file(Context)),
{ok, File} = file:read_file(ExpectedLocation),
?assertEqual("[rabbitmq_management].", unicode:characters_to_list(File)).