Hello community,
here is the log from the commit of package rabbitmq-server for openSUSE:Factory
checked in at 2019-10-30 14:46:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rabbitmq-server (Old)
and /work/SRC/openSUSE:Factory/.rabbitmq-server.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rabbitmq-server"
Wed Oct 30 14:46:48 2019 rev:51 rq:743858 version:3.7.20
Changes:
--------
--- /work/SRC/openSUSE:Factory/rabbitmq-server/rabbitmq-server.changes
2019-10-21 12:32:36.972247420 +0200
+++
/work/SRC/openSUSE:Factory/.rabbitmq-server.new.2990/rabbitmq-server.changes
2019-10-30 14:46:52.966122586 +0100
@@ -1,0 +2,8 @@
+Tue Oct 29 09:42:32 UTC 2019 - Gabriele Santomaggio <[email protected]>
+
+- Update to RabbitMQ version 3.7.20
+- Full release notes:
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.20
+- RabbitMQ 3.7.20 is a maintenance release that focuses on bug fixes.
+- RabbitMQ 3.7.x series is supported through March 2020.
+
+-------------------------------------------------------------------
Old:
----
rabbitmq-server-3.7.19.tar.xz
New:
----
rabbitmq-server-3.7.20.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rabbitmq-server.spec ++++++
--- /var/tmp/diff_new_pack.7zehor/_old 2019-10-30 14:46:54.210123909 +0100
+++ /var/tmp/diff_new_pack.7zehor/_new 2019-10-30 14:46:54.210123909 +0100
@@ -33,7 +33,7 @@
%define _make_args DESTDIR="%{buildroot}" PREFIX="%{_prefix}"
RMQ_ROOTDIR=%{_rabbit_libdir} RMQ_ERLAPP_DIR=%{_rabbit_erllibdir}
MAN_INSTALL_PATH="%{_mandir}" DOC_INSTALL_DIR=%{buildroot}/%{_docdir}
VERSION=%{version} V=1
Name: rabbitmq-server
-Version: 3.7.19
+Version: 3.7.20
Release: 0
Summary: A message broker supporting AMQP, STOMP and MQTT
License: MPL-1.1
++++++ rabbitmq-server-3.7.19.tar.xz -> rabbitmq-server-3.7.20.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/Makefile
new/rabbitmq-server-3.7.20/Makefile
--- old/rabbitmq-server-3.7.19/Makefile 2019-09-25 11:55:44.000000000 +0200
+++ new/rabbitmq-server-3.7.20/Makefile 2019-10-24 15:33:03.000000000 +0200
@@ -227,7 +227,7 @@
packages package-deb package-rpm \
package-rpm-redhat package-rpm-fedora package-rpm-rhel6 package-rpm-rhel7 \
-package-rpm-suse package-rpm-opensuse package-rpm-sles11 \
+package-rpm-rhel8 package-rpm-suse package-rpm-opensuse package-rpm-sles11 \
package-windows package-standalone-macosx \
package-standalone-linux-x86_64 \
package-standalone-freebsd-x86_64 \
Binary files old/rabbitmq-server-3.7.19/deps/.hex/cache.ets and
new/rabbitmq-server-3.7.20/deps/.hex/cache.ets differ
Binary files
old/rabbitmq-server-3.7.19/deps/.hex/packages/hexpm/observer_cli-1.5.2.tar and
new/rabbitmq-server-3.7.20/deps/.hex/packages/hexpm/observer_cli-1.5.2.tar
differ
Binary files
old/rabbitmq-server-3.7.19/deps/.hex/packages/hexpm/observer_cli-1.5.3.tar and
new/rabbitmq-server-3.7.20/deps/.hex/packages/hexpm/observer_cli-1.5.3.tar
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/amqp_client/src/amqp_main_reader.erl
new/rabbitmq-server-3.7.20/deps/amqp_client/src/amqp_main_reader.erl
--- old/rabbitmq-server-3.7.19/deps/amqp_client/src/amqp_main_reader.erl
2019-09-22 10:19:34.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/amqp_client/src/amqp_main_reader.erl
2019-10-11 16:33:35.000000000 +0200
@@ -88,7 +88,7 @@
handle_info({Tag, Sock, Reason}, State = #state{sock = Sock})
when Tag =:= tcp_error; Tag =:= ssl_error ->
handle_error(Reason, State);
-handle_info({timeout, TimerRef, idle_timeout}, State = #state{timer =
TimerRef}) ->
+handle_info({timeout, _TimerRef, idle_timeout}, State) ->
handle_error(timeout, State).
handle_data(<<Type:8, Channel:16, Length:32, Payload:Length/binary, ?FRAME_END,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit.erl
new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit.erl 2019-10-02
06:29:45.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit.erl 2019-10-22
02:19:14.000000000 +0200
@@ -783,6 +783,10 @@
wait_for_boot_to_finish(Node, PrintProgressReports) ->
wait_for_boot_to_finish(Node, PrintProgressReports, ?BOOT_FINISH_TIMEOUT).
+wait_for_boot_to_finish(Node, PrintProgressReports, infinity) ->
+ %% This assumes that 100K iterations is close enough to "infinity".
+ %% Now that's deep.
+ do_wait_for_boot_to_finish(Node, PrintProgressReports, 100000);
wait_for_boot_to_finish(Node, PrintProgressReports, Timeout) ->
Iterations = Timeout div ?BOOT_STATUS_CHECK_INTERVAL,
do_wait_for_boot_to_finish(Node, PrintProgressReports, Iterations).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_epmd_monitor.erl
new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_epmd_monitor.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_epmd_monitor.erl
2019-10-02 06:29:45.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_epmd_monitor.erl
2019-10-22 02:19:14.000000000 +0200
@@ -61,17 +61,29 @@
me = Me,
host = Host,
port = undefined},
+ rabbit_log:info("epmd does not know us, re-registering as ~s~n", [Me]),
{ok, ensure_timer(State)};
init_handle_port_please({port, Port, _Version}, Mod, Me, Host) ->
+ rabbit_log:info("epmd monitor knows us, inter-node communication
(distribution) port: ~p", [Port]),
State = #state{mod = Mod,
me = Me,
host = Host,
port = Port},
+ {ok, ensure_timer(State)};
+init_handle_port_please({error, Error}, Mod, Me, Host) ->
+ rabbit_log:error("epmd monitor failed to retrieve our port from epmd: ~p",
[Error]),
+ State = #state{mod = Mod,
+ me = Me,
+ host = Host,
+ port = undefined},
{ok, ensure_timer(State)}.
handle_call(_Request, _From, State) ->
{noreply, State}.
+handle_cast(check, State0) ->
+ {ok, State1} = check_epmd(State0),
+ {noreply, ensure_timer(State1#state{timer = undefined})};
handle_cast(_Msg, State) ->
{noreply, State}.
@@ -97,14 +109,19 @@
me = Me,
host = Host,
port = Port}) ->
+ rabbit_log:debug("Asked to [re-]register this node (~s@~s) with epmd...",
[Me, Host]),
Port1 = case Mod:port_please(Me, Host) of
noport ->
rabbit_log:warning("epmd does not know us, re-registering
~s at port ~b~n",
[Me, Port]),
Port;
{port, NewPort, _Version} ->
- NewPort
+ NewPort;
+ {error, Error} ->
+ rabbit_log:error("epmd monitor failed to retrieve our port
from epmd: ~p", [Error]),
+ Port
end,
rabbit_nodes:ensure_epmd(),
Mod:register_node(Me, Port1),
+ rabbit_log:debug("[Re-]registered this node (~s@~s) with epmd at port ~p",
[Me, Host, Port1]),
{ok, State#state{port = Port1}}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_feature_flags.erl
new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_feature_flags.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit/src/rabbit_feature_flags.erl
2019-10-02 06:29:45.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit/src/rabbit_feature_flags.erl
2019-10-22 02:19:14.000000000 +0200
@@ -250,6 +250,8 @@
migration_fun/0,
migration_fun_context/0]).
+-on_load(on_load/0).
+
-spec list() -> feature_flags().
%% @doc
%% Lists all supported feature flags.
@@ -1645,8 +1647,9 @@
end,
case Ret of
{error, pre_feature_flags_rabbitmq} ->
- %% See run_feature_flags_mod_on_remote_node/4 for an
- %% explanation why we consider this node a 3.7.x node.
+ %% See run_feature_flags_mod_on_remote_node/4 for
+ %% an explanation why we consider this node a 3.7.x
+ %% pre-feature-flags node.
rabbit_log:debug(
"Feature flags: no feature flags support on node `~s`, "
"consider the feature flags unsupported: ~p",
@@ -1809,8 +1812,9 @@
{undef,
[{?MODULE, Function, Args, []}
| _]}}} ->
- %% If rabbit_feature_flags:is_supported_locally/1 is undefined
- %% on the remote node, we consider it to be a 3.7.x node.
+ %% If rabbit_feature_flags:Function() is undefined
+ %% on the remote node, we consider it to be a 3.7.x
+ %% pre-feature-flags node.
%%
%% Theoretically, it could be an older version (3.6.x and
%% older). But the RabbitMQ version consistency check
@@ -1819,7 +1823,7 @@
%% this situation from happening before we reach this point.
rabbit_log:debug(
"Feature flags: ~s:~s~p unavailable on node `~s`: "
- "assuming it is a RabbitMQ 3.7.x node",
+ "assuming it is a RabbitMQ 3.7.x pre-feature-flags node",
[?MODULE, Function, Args, Node]),
{error, pre_feature_flags_rabbitmq};
{badrpc, Reason} = Error ->
@@ -1844,8 +1848,9 @@
[Which, Node]),
case run_feature_flags_mod_on_remote_node(Node, list, [Which], Timeout) of
{error, pre_feature_flags_rabbitmq} ->
- %% See run_feature_flags_mod_on_remote_node/4 for an
- %% explanation why we consider this node a 3.7.x node.
+ %% See run_feature_flags_mod_on_remote_node/4 for
+ %% an explanation why we consider this node a 3.7.x
+ %% pre-feature-flags node.
rabbit_log:debug(
"Feature flags: no feature flags support on node `~s`, "
"consider the list of feature flags empty", [Node]),
@@ -2268,3 +2273,63 @@
share_new_feature_flags_after_app_load(FeatureFlags, Timeout) ->
push_local_feature_flags_from_apps_unknown_remotely(
node(), FeatureFlags, Timeout).
+
+on_load() ->
+ %% The goal of this `on_load()` code server hook is to prevent this
+ %% module from being loaded in an already running RabbitMQ node if
+ %% the running version does not have the feature flags subsystem.
+ %%
+ %% This situation happens when an upgrade overwrites RabbitMQ files
+ %% with the node still running. This is the case with many packages:
+ %% files are updated on disk, then a post-install step takes care of
+ %% restarting the service.
+ %%
+ %% The problem is that if many nodes in a cluster are updated at the
+ %% same time, one node running the newer version might query feature
+ %% flags on an old node where this module is already available
+ %% (because files were already overwritten). This causes the query
+ %% to report an unexpected answer and the newer node to refuse to
+ %% start.
+ %%
+ %% However, when the module is executed outside of RabbitMQ (for
+ %% debugging purpose or in the context of EUnit for instance), we
+ %% want to allow the load. That's why we first check if RabbitMQ is
+ %% actually running.
+ case rabbit:is_running() of
+ true ->
+ %% RabbitMQ is running.
+ %%
+ %% Now we want to differenciate a pre-feature-flags node
+ %% from one having the subsystem.
+ %%
+ %% To do that, we verify if the `feature_flags_file`
+ %% application environment variable is defined. With a
+ %% feature-flags-enabled node, this application environment
+ %% variable is defined by rabbitmq-server(8).
+ case application:get_env(rabbit, feature_flags_file) of
+ {ok, _} ->
+ %% This is a feature-flags-enabled version. Loading
+ %% the module is permitted.
+ ok;
+ _ ->
+ %% This is a pre-feature-flags version. We deny the
+ %% load and report why, possibly specifying the
+ %% version of RabbitMQ.
+ Vsn = case application:get_key(rabbit, vsn) of
+ {ok, V} -> V;
+ undefined -> "unknown version"
+ end,
+ "Refusing to load '" ?MODULE_STRING "' on this "
+ "node. It appears to be running a pre-feature-flags "
+ "version of RabbitMQ (" ++ Vsn ++ "). This is fine: "
+ "a newer version of RabbitMQ was deployed on this "
+ "node, but it was not restarted yet. This warning "
+ "is probably caused by a remote node querying this "
+ "node for its feature flags."
+ end;
+ false ->
+ %% RabbitMQ is not running. Loading the module is permitted
+ %% because this Erlang node will never be queried for its
+ %% feature flags.
+ ok
+ end.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbit_common/src/rabbit_log.erl
new/rabbitmq-server-3.7.20/deps/rabbit_common/src/rabbit_log.erl
--- old/rabbitmq-server-3.7.19/deps/rabbit_common/src/rabbit_log.erl
2019-09-22 10:19:34.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbit_common/src/rabbit_log.erl
2019-10-21 11:41:17.000000000 +0200
@@ -31,7 +31,7 @@
-include("rabbit_log.hrl").
%%----------------------------------------------------------------------------
--type category() :: connection | channel | mirroring | queue | federation |
upgrade.
+-type category() :: connection | channel | ldap | mirroring | queue |
federation | upgrade.
-spec debug(string()) -> 'ok'.
-spec debug(string(), [any()]) -> 'ok'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/Makefile
new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/Makefile
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/Makefile
2019-10-02 23:28:57.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/Makefile
2019-10-25 14:54:38.000000000 +0200
@@ -2,6 +2,8 @@
PROJECT_DESCRIPTION = RabbitMQ LDAP Authentication Backend
PROJECT_MOD = rabbit_auth_backend_ldap_app
+# Note:
+# Use of these default values in calls to get_expected_env_str/2
define PROJECT_ENV
[
{servers, undefined},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
2019-09-23 00:08:04.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl
2019-10-14 21:46:35.000000000 +0200
@@ -219,9 +219,11 @@
evaluate0({in_group_nested, DNPattern, Desc, Scope}, Args,
#auth_user{impl = #impl{user_dn = UserDN}}, LDAP) ->
GroupsBase = case env(group_lookup_base) of
- none -> env(dn_lookup_base);
- B -> B
- end,
+ none ->
+ get_expected_env_str(dn_lookup_base, none);
+ B ->
+ B
+ end,
GroupDN = fill(DNPattern, Args),
EldapScope =
case Scope of
@@ -692,6 +694,20 @@
at_least(Ver) ->
rabbit_misc:version_compare(erlang:system_info(version), Ver) =/= lt.
+% Note:
+% Default is configured in the Makefile
+get_expected_env_str(Key, Default) ->
+ V = case env(Key) of
+ Default ->
+ rabbit_log_ldap:warning("rabbitmq_auth_backend_ldap
configuration key '~p' is set to "
+ "the default value of '~p', expected
to get a non-default value~n",
+ [Key, Default]),
+ Default;
+ V0 ->
+ V0
+ end,
+ rabbit_data_coercion:to_list(V).
+
env(F) ->
{ok, V} = application:get_env(rabbitmq_auth_backend_ldap, F),
V.
@@ -740,14 +756,19 @@
vhost_if_defined(<<>>) -> [];
vhost_if_defined(VHost) -> [{vhost, VHost}].
-dn_lookup_when() -> case {env(dn_lookup_attribute), env(dn_lookup_bind)} of
- {none, _} -> never;
- {_, as_user} -> postbind;
- %% make it more obvious what the invariants are,
- %% see rabbitmq/rabbitmq-auth-backend-ldap#94. MK.
- {_, anon} -> prebind;
- {_, _} -> prebind
- end.
+dn_lookup_when() ->
+ case {env(dn_lookup_attribute), env(dn_lookup_bind)} of
+ {none, DnLookupBind} ->
+ rabbit_log_ldap:warning(
+ "dn_lookup_attribute is 'none' but dn_lookup_bind is ~p. No DN
lookup bind will be performed~n",
+ [DnLookupBind]),
+ never;
+ {_, as_user} -> postbind;
+ %% make it more obvious what the invariants are,
+ %% see rabbitmq/rabbitmq-auth-backend-ldap#94. MK.
+ {_, anon} -> prebind;
+ {_, _} -> prebind
+ end.
username_to_dn_prebind(Username) ->
with_ldap({ok, env(dn_lookup_bind)},
@@ -758,10 +779,11 @@
dn_lookup(Username, LDAP) ->
Filled = fill_user_dn_pattern(Username),
+ DnLookupBase = get_expected_env_str(dn_lookup_base, none),
+ DnLookupAttribute = get_expected_env_str(dn_lookup_attribute, none),
case eldap:search(LDAP,
- [{base, env(dn_lookup_base)},
- {filter, eldap:equalityMatch(
- env(dn_lookup_attribute), Filled)},
+ [{base, DnLookupBase},
+ {filter, eldap:equalityMatch(DnLookupAttribute,
Filled)},
{attributes, ["distinguishedName"]}]) of
{ok, {referral, Referrals}} ->
{error, {referrals_not_supported, Referrals}};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
2019-09-24 17:10:35.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex
2019-10-23 15:25:09.000000000 +0200
@@ -14,12 +14,18 @@
## Copyright (c) 2007-2019 Pivotal Software, Inc. All rights reserved.
defmodule RabbitMQ.CLI.Diagnostics.Helpers do
+ def test_connection(hostname, port, timeout) do
+ case :gen_tcp.connect(hostname, port, [], timeout) do
+ {:error, _} -> :gen_tcp.connect(hostname, port, [:inet6], timeout)
+ r -> r
+ end
+ end
+
def check_port_connectivity(port, node_name, timeout) do
regex = Regex.recompile!(~r/^(.+)@/)
hostname = Regex.replace(regex, to_string(node_name), "") |> to_charlist
-
try do
- case :gen_tcp.connect(hostname, port, [], timeout) do
+ case test_connection(hostname, port, timeout) do
{:error, _} ->
false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/mix.lock
new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/mix.lock
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_cli/mix.lock 2019-10-02
23:29:00.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_cli/mix.lock 2019-10-25
14:54:40.000000000 +0200
@@ -1,7 +1,7 @@
%{
"csv": {:hex, :csv, "2.0.0",
"c66fea89ba7862b94901baf0871285e9b73cad89c5fdb57a6386d2adcf29593e", [:mix],
[{:parallel_stream, "~> 1.0.4", [hex: :parallel_stream, repo: "hexpm",
optional: false]}], "hexpm"},
"json": {:hex, :json, "1.2.5",
"3682c18c6b07480df2122d0daf5c05457b42c1990f197ce3de53884e8ba834c4", [:mix],
[{:benchee, "~> 0.8", [hex: :benchee, repo: "hexpm", optional: true]},
{:benchee_html, "~> 0.1", [hex: :benchee_html, repo: "hexpm", optional: true]},
{:exjsx, "~> 4.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:jason, "~>
1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:jsone, "~> 1.4", [hex:
:jsone, repo: "hexpm", optional: true]}, {:poison, "~> 3.0", [hex: :poison,
repo: "hexpm", optional: true]}, {:tiny, "~> 1.0", [hex: :tiny, repo: "hexpm",
optional: true]}], "hexpm"},
- "observer_cli": {:hex, :observer_cli, "1.5.2",
"6e93437f74a99708068a32b767b02432d113896275421409e3018d989236a65a", [:mix,
:rebar3], [{:recon, "~>2.5.0", [hex: :recon, repo: "hexpm", optional: false]}],
"hexpm"},
+ "observer_cli": {:hex, :observer_cli, "1.5.3",
"d42e20054116c49d5242d3ff9e1913acccebe6015f449d6e312a5bc160e79a62", [:mix,
:rebar3], [{:recon, "~>2.5.0", [hex: :recon, repo: "hexpm", optional: false]}],
"hexpm"},
"parallel_stream": {:hex, :parallel_stream, "1.0.6",
"b967be2b23f0f6787fab7ed681b4c45a215a81481fb62b01a5b750fa8f30f76c", [:mix], [],
"hexpm"},
"recon": {:hex, :recon, "2.5.0",
"2f7fcbec2c35034bade2f9717f77059dc54eb4e929a3049ca7ba6775c0bd66cd", [:mix,
:rebar3], [], "hexpm"},
"stdout_formatter": {:hex, :stdout_formatter, "0.2.3",
"ec24868d8619757a68f0798357c7190807a1cfc42ce90c18c23760e59249a21a", [:mix,
:rebar3], [], "hexpm"},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
new/rabbitmq-server-3.7.20/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
2019-09-23 02:42:41.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_federation_management/priv/www/js/tmpl/federation.ejs
2019-10-25 06:17:18.000000000 +0200
@@ -84,8 +84,8 @@
<td>
<form action="#/federation-restart-link" method="delete"
class="confirm">
<input type="hidden" name="id" value="<%= link.id %>"/>
- <input type="hidden" name="node" value="<%= link.node %>"/>
- <input type="hidden" name="vhost" value="<%= link.vhost %>"/>
+ <input type="hidden" name="node" value="<%= fmt_node(link.node) %>"/>
+ <input type="hidden" name="vhost" value="<%= fmt_string(link.vhost)
%>"/>
<input type="submit" value="Restart"/>
</form>
</td>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt.erl
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
%% The Original Code is RabbitMQ.
%%
%% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc. All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc. All rights reserved.
%%
-module(rabbit_mqtt).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
2019-09-23 21:58:24.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_connection_sup.erl
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
%% The Original Code is RabbitMQ.
%%
%% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc. All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc. All rights reserved.
%%
-module(rabbit_mqtt_connection_sup).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_frame.erl
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
%% The Original Code is RabbitMQ.
%%
%% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc. All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc. All rights reserved.
%%
-module(rabbit_mqtt_frame).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
%% The Original Code is RabbitMQ.
%%
%% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc. All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc. All rights reserved.
%%
-module(rabbit_mqtt_reader).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_sup.erl
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
%% The Original Code is RabbitMQ.
%%
%% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc. All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc. All rights reserved.
%%
-module(rabbit_mqtt_sup).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl
--- old/rabbitmq-server-3.7.19/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl
2019-09-23 21:58:24.000000000 +0200
+++ new/rabbitmq-server-3.7.20/deps/rabbitmq_mqtt/src/rabbit_mqtt_util.erl
2019-10-22 13:56:57.000000000 +0200
@@ -11,7 +11,7 @@
%% The Original Code is RabbitMQ.
%%
%% The Initial Developer of the Original Code is GoPivotal, Inc.
-%% Copyright (c) 2007-2017 Pivotal Software, Inc. All rights reserved.
+%% Copyright (c) 2007-2019 Pivotal Software, Inc. All rights reserved.
%%
-module(rabbit_mqtt_util).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
2019-09-23 01:56:44.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_aws/src/rabbit_peer_discovery_aws.erl
2019-10-24 20:14:57.000000000 +0200
@@ -90,7 +90,8 @@
%% we cannot start this plugin yet since it depends on the rabbit app,
%% which is in the process of being started by the time this function is
called
application:load(rabbitmq_peer_discovery_common),
- rabbit_peer_discovery_httpc:maybe_configure_proxy().
+ rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+ rabbit_peer_discovery_httpc:maybe_configure_inet6().
-spec list_nodes() -> {ok, {Nodes :: list(), NodeType ::
rabbit_types:node_type()}}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
2019-09-23 01:56:43.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_common_app.erl
2019-10-23 21:54:57.000000000 +0200
@@ -21,6 +21,7 @@
start(_Type, _StartArgs) ->
rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+ rabbit_peer_discovery_httpc:maybe_configure_inet6(),
rabbit_peer_discovery_common_sup:start_link().
stop(_State) ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
2019-09-23 01:56:43.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl
2019-10-23 21:54:57.000000000 +0200
@@ -32,7 +32,8 @@
post/6,
put/6,
put/7,
- maybe_configure_proxy/0]).
+ maybe_configure_proxy/0,
+ maybe_configure_inet6/0]).
%% Export all for unit tests
-ifdef(TEST).
@@ -284,6 +285,19 @@
ok
end.
+%% @public
+%% @spec maybe_configure_inet6() -> Result
+%% @where Result = ok.
+%% @doc Configures HTTP[S] inet6 settings in httpc, if necessary
+%% @end
+-spec maybe_configure_inet6() -> ok.
+maybe_configure_inet6() ->
+ IpFamily = case proplists:get_value(inet6, inet:get_rc(), false) of
+ true -> inet6;
+ false -> inet
+ end,
+ httpc:set_option(ipfamily, IpFamily).
+
%%--------------------------------------------------------------------
%% @private
%% @doc Set httpc proxy options.
@@ -299,7 +313,7 @@
rabbit_log:debug(
"Configuring HTTP client's ~s setting: ~p, exclusions: ~p",
[Option, {Host, Port}, ProxyExclusions]),
- httpc:set_options([{Option, {{Host, Port}, ProxyExclusions}}]);
+ httpc:set_option(Option, {{Host, Port}, ProxyExclusions});
{error, Reason} ->
rabbit_log:error("Failed to set HTTP client setting ~p"
" with value of ~p, exclusions of ~p: ~p",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
2019-09-23 01:56:43.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl
2019-10-23 21:54:57.000000000 +0200
@@ -44,7 +44,9 @@
-type stringifyable() :: atom() | binary() | string() | integer().
--spec getenv(Key :: string()) -> string() | false.
+-spec getenv(Key :: string() | undefined) -> string() | false.
+getenv(undefined) ->
+ false;
getenv(Key) ->
process_getenv_value(Key, os:getenv(Key)).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
2019-09-23 02:13:34.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/include/rabbit_peer_discovery_consul.hrl
2019-10-24 20:33:33.000000000 +0200
@@ -75,6 +75,10 @@
env_variable =
"CONSUL_SVC_TAGS",
default_value = []
},
+ consul_svc_meta =>
#peer_discovery_config_entry_meta{
+ type = list,
+ default_value = []
+ },
consul_deregister_after =>
#peer_discovery_config_entry_meta{
type = integer,
env_variable =
"CONSUL_DEREGISTER_AFTER",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
2019-09-23 02:13:34.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema
2019-10-24 20:33:33.000000000 +0200
@@ -258,6 +258,26 @@
end
end}.
+%% service metadata
+
+{mapping, "cluster_formation.consul.svc_meta",
"rabbit.cluster_formation.peer_discovery_consul.consul_svc_meta", [
+ {datatype, {enum, [none]}}
+]}.
+
+{mapping, "cluster_formation.consul.svc_meta.$name",
"rabbit.cluster_formation.peer_discovery_consul.consul_svc_meta", [
+ {datatype, string}
+]}.
+
+{translation, "rabbit.cluster_formation.peer_discovery_consul.consul_svc_meta",
+fun(Conf) ->
+ case cuttlefish:conf_get("cluster_formation.consul.svc_meta", Conf,
undefined) of
+ none -> [];
+ _ ->
+ Pairs =
cuttlefish_variable:filter_by_prefix("cluster_formation.consul.svc_meta", Conf),
+ [{list_to_binary(lists:last(Segments)), list_to_binary(V)} ||
{Segments, V} <- Pairs]
+ end
+end}.
+
%% lock key prefix
{mapping, "cluster_formation.consul.lock_prefix",
"rabbit.cluster_formation.peer_discovery_consul.consul_lock_prefix", [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
2019-09-23 02:13:34.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl
2019-10-24 20:33:33.000000000 +0200
@@ -50,7 +50,8 @@
%% we cannot start this plugin yet since it depends on the rabbit app,
%% which is in the process of being started by the time this function is
called
application:load(rabbitmq_peer_discovery_common),
- rabbit_peer_discovery_httpc:maybe_configure_proxy().
+ rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+ rabbit_peer_discovery_httpc:maybe_configure_inet6().
-spec list_nodes() -> {ok, {Nodes :: list(), NodeType ::
rabbit_types:node_type()}} | {error, Reason :: string()}.
@@ -269,7 +270,8 @@
Payload3 = registration_body_maybe_add_address(Payload2),
Payload4 = registration_body_add_port(Payload3),
Payload5 = registration_body_maybe_add_check(Payload4),
- registration_body_maybe_add_tag(Payload5).
+ Payload6 = registration_body_maybe_add_tag(Payload5),
+ registration_body_maybe_add_meta(Payload6).
-spec registration_body_add_id() -> list().
registration_body_add_id() ->
@@ -356,6 +358,27 @@
lists:append(Payload, [{'Tags', [rabbit_data_coercion:to_atom(Cluster)] ++
[rabbit_data_coercion:to_atom(X) || X <- Tags]}]).
+-spec registration_body_maybe_add_meta(Payload :: list()) -> list().
+registration_body_maybe_add_meta(Payload) ->
+ M = ?CONFIG_MODULE:config_map(?BACKEND_CONFIG_KEY),
+ ClusterName = get_config_key(cluster_name, M),
+ Meta = ?UTIL_MODULE:as_list(get_config_key(consul_svc_meta, M)),
+ registration_body_maybe_add_meta(Payload, ClusterName, Meta).
+
+-spec registration_body_maybe_add_meta(Payload :: list(),
+ ClusterName :: string(),
+ Meta :: list()) -> list().
+registration_body_maybe_add_meta(Payload, "default", []) ->
+ Payload;
+registration_body_maybe_add_meta(Payload, "default", Meta) ->
+ lists:append(Payload, [{<<"meta">>, Meta}]);
+registration_body_maybe_add_meta(Payload, _ClusterName, []) ->
+ Payload;
+registration_body_maybe_add_meta(Payload, ClusterName, Meta) ->
+ Merged = maps:to_list(maps:merge(#{<<"cluster">> =>
rabbit_data_coercion:to_binary(ClusterName)}, maps:from_list(Meta))),
+ lists:append(Payload, [{<<"meta">>, Merged}]).
+
+
-spec validate_addr_parameters(false | true, false | true) -> false | true.
validate_addr_parameters(false, true) ->
rabbit_log:warning("The parameter CONSUL_SVC_ADDR_NODENAME" ++
@@ -517,7 +540,7 @@
%% @end
%%--------------------------------------------------------------------
-spec consul_session_create(Query, Headers, Body) -> {ok, term()} | {error,
Reason::string()} when
- Query :: [autocluster_httpc:query_component()],
+ Query :: list(),
Headers :: [{string(), string()}],
Body :: term().
consul_session_create(Query, Headers, Body) ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
2019-09-23 02:16:43.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_etcd/src/rabbit_peer_discovery_etcd.erl
2019-10-24 20:32:57.000000000 +0200
@@ -44,7 +44,8 @@
%% we cannot start this plugin yet since it depends on the rabbit app,
%% which is in the process of being started by the time this function is
called
application:load(rabbitmq_peer_discovery_common),
- ?HTTPC_MODULE:maybe_configure_proxy().
+ ?HTTPC_MODULE:maybe_configure_proxy(),
+ ?HTTPC_MODULE:maybe_configure_inet6().
-spec list_nodes() -> {ok, {Nodes :: list(), NodeType ::
rabbit_types:node_type()}} | {error, Reason :: string()}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
2019-09-23 02:47:04.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_rbac.yaml
2019-10-24 11:37:23.000000000 +0200
@@ -4,6 +4,9 @@
metadata:
name: rabbitmq
namespace: test-rabbitmq
+# Required from EKS 1.13
+#
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server
+automountServiceAccountToken: true
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
2019-09-23 02:47:04.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/examples/k8s_statefulsets/rabbitmq_statefulsets.yaml
2019-10-24 11:37:23.000000000 +0200
@@ -70,6 +70,10 @@
spec:
serviceAccountName: rabbitmq
terminationGracePeriodSeconds: 10
+ nodeSelector:
+ # Use Linux nodes in a mixed OS kubernetes cluster.
+ # Learn more at
https://kubernetes.io/docs/reference/kubernetes-api/labels-annotations-taints/#kubernetes-io-os
+ kubernetes.io/os: linux
containers:
- name: rabbitmq-k8s
image: rabbitmq:3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
2019-09-23 02:47:04.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_peer_discovery_k8s/src/rabbit_peer_discovery_k8s.erl
2019-10-24 11:37:23.000000000 +0200
@@ -47,7 +47,8 @@
%% we cannot start this plugin yet since it depends on the rabbit app,
%% which is in the process of being started by the time this function is
called
application:load(rabbitmq_peer_discovery_common),
- rabbit_peer_discovery_httpc:maybe_configure_proxy().
+ rabbit_peer_discovery_httpc:maybe_configure_proxy(),
+ rabbit_peer_discovery_httpc:maybe_configure_inet6().
-spec list_nodes() -> {ok, {Nodes :: list(), NodeType ::
rabbit_types:node_type()}}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
new/rabbitmq-server-3.7.20/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
2019-09-23 02:47:04.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
2019-10-25 06:33:28.000000000 +0200
@@ -60,8 +60,8 @@
<% if (shovel.type == 'dynamic') { %>
<td>
<form action="#/shovel-restart-link" method="delete" class="confirm">
- <input type="hidden" name="name" value="<%= shovel.name %>"/>
- <input type="hidden" name="vhost" value="<%= shovel.vhost %>"/>
+ <input type="hidden" name="name" value="<%= fmt_node(shovel.name) %>"/>
+ <input type="hidden" name="vhost" value="<%= fmt_string(shovel.vhost)
%>"/>
<input type="submit" value="Restart"/>
</form>
</td>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/rabbitmq-server-3.7.19/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl
new/rabbitmq-server-3.7.20/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl
---
old/rabbitmq-server-3.7.19/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl
2019-09-23 02:55:54.000000000 +0200
+++
new/rabbitmq-server-3.7.20/deps/rabbitmq_tracing/src/rabbit_tracing_files.erl
2019-10-18 00:44:59.000000000 +0200
@@ -46,6 +46,12 @@
%%--------------------------------------------------------------------
file_info(Name) ->
- {ok, Info} = file:read_file_info(full_path(Name)),
- [{name, list_to_binary(Name)},
- {size, Info#file_info.size}].
+ Size = case file:read_file_info(full_path(Name)) of
+ {ok, Info} ->
+ Info#file_info.size;
+ {error, Error} ->
+ rabbit_log:warning("error getting file info for ~s: ~p",
+ [Name, Error]),
+ 0
+ end,
+ [{name, list_to_binary(Name)}, {size, Size}].
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/rabbitmq-server-3.7.19/git-revisions.txt
new/rabbitmq-server-3.7.20/git-revisions.txt
--- old/rabbitmq-server-3.7.19/git-revisions.txt 2019-10-02
23:29:03.000000000 +0200
+++ new/rabbitmq-server-3.7.20/git-revisions.txt 2019-10-25
14:54:43.000000000 +0200
@@ -1,8 +1,8 @@
-RabbitMQ Server 3.7.19
-rabbitmq_server_release b5667778becd4e810da0902f6341bfcd29db9515
-amqp10_client 9b34f676642d08883fcc3fe38a9f65fe37ca0bc7 v3.7.18
-amqp10_common 2603f6dd5d38e53928e94260fee76a2c0c2415aa v3.7.18
-amqp_client 818f3faf135f36e4a9b2f849079daf1a63dd79c1 v3.7.18
+RabbitMQ Server 3.7.20
+rabbitmq_server_release ef4ee54e097d0f870105b66f0bb5c12f8b5ff249
+amqp10_client 9b34f676642d08883fcc3fe38a9f65fe37ca0bc7 v3.7.19
+amqp10_common 2603f6dd5d38e53928e94260fee76a2c0c2415aa v3.7.19
+amqp_client 47d244d8948c220e32027aadd2a94f831969ba83
cowboy
cowlib 8588724cf91ddbb53b9c35ed665866556b217323 2.7.0
credentials_obfuscation
@@ -11,43 +11,43 @@
jsx
lager
observer_cli
-rabbit c83e056a22a536a4003a573dc1be01a54be76098
-rabbit_common 6945aa257047f4c20a7fae2b3dadb4ce9f2b3210 v3.7.18
-rabbitmq_amqp1_0 efebe416a5bdcbef29a9102f5a95e4d094b67474 v3.7.18
-rabbitmq_auth_backend_cache 745233e297dd8110660fae55322a7878b489151a v3.7.18
-rabbitmq_auth_backend_http c130398b7d2abf45be897d67499263d3beddbb1a v3.7.18
-rabbitmq_auth_backend_ldap 32eaff6a19747eea8ce11d8860aac5c8a6fbbfe2 v3.7.18
-rabbitmq_auth_mechanism_ssl decabd86963e535dc3f326c408e5279167ee553b v3.7.18
-rabbitmq_aws e64adca1d513ea3d86aafb68a6c9ba0047da1985 v3.7.18
-rabbitmq_cli e4b957dc9d57df475b50d38e790664c8e059d3bd
-rabbitmq_codegen b808d4231384eeaa11af0e8f26436ee5b6f96bec v3.7.18
-rabbitmq_consistent_hash_exchange 5ff7f6718413bcc6427c92c4b3ab5bea1360acf3
v3.7.18
-rabbitmq_event_exchange d2518a66ced5db5404e8d1da69ca36ec4b0db206
-rabbitmq_federation e6f0e2c6b62dca303ec4f870bbd1ae1216c74651 v3.7.18
-rabbitmq_federation_management 1ae889a41b411a9c2c832d669c52c1c367cc1292 v3.7.18
-rabbitmq_jms_topic_exchange 70f89eda4650daf9e366f15b2bed05051d91d23c v3.7.18
-rabbitmq_management a19a05943c75195ed4bb8825e4b9535413ccdea2
-rabbitmq_management_agent bcd12aecfd95dc8e0109cc6d9c0ce6b72ec6e9a7 v3.7.18
-rabbitmq_mqtt db26e20e6decf7cc6730fcd8087eae9c96b32a67
-rabbitmq_peer_discovery_aws 0ade1fbd762211f73bccd5cb3d1838ace735369b v3.7.18
-rabbitmq_peer_discovery_common 03daa37608f05745fe0ea4dbbd4c30397aa83093 v3.7.18
-rabbitmq_peer_discovery_consul 7b8d63cd1194bd1c2828fb4b8d61645812a81fe9 v3.7.18
-rabbitmq_peer_discovery_etcd 744cec458f72cd489fafa2215465b22fb0d6d846 v3.7.18
-rabbitmq_peer_discovery_k8s b14f1945e4d68d63d94772944a22eb1fd987bd3b v3.7.18
-rabbitmq_random_exchange 62ac0effd3e64518758e52aadcf2a7d49cec2ce3 v3.7.18
-rabbitmq_recent_history_exchange ad2e479cf76fbb3c8a125bd4b39e6e85b5f01157
v3.7.18
-rabbitmq_sharding ed15e34adce9cfa330481c1450ed0eb857420bb5 v3.7.18
-rabbitmq_shovel 858ca0e51f21e494af11f9d496bdceedff43af9d
-rabbitmq_shovel_management d17c13272c135fa7e50f3b4e36e29b498e84a8e5 v3.7.18
-rabbitmq_stomp 000226a067e9397a7dedcc871c15572f37bf8562
-rabbitmq_top 7dfe45fee14628f1b5bb9f424c28500981fe140e v3.7.18
-rabbitmq_tracing 20bdcea7953a66067f8b3cf259170c89d7e0c428 v3.7.18
-rabbitmq_trust_store ab8138c3a38d6c5bbc0ca862b01995c0f70198a1 v3.7.18
-rabbitmq_web_dispatch 473d3af6226ba5673461aed74a8e1e060461c593 v3.7.18
-rabbitmq_web_mqtt 4e826a436f8ff81e761b1eb732a43f9ac9396ff5 v3.7.18
-rabbitmq_web_mqtt_examples dce1cb830ab85a93515781e596ff29d268fa16d0 v3.7.18
-rabbitmq_web_stomp 5b6cdf44ecaec6cc35b6e8049c56eb0a0068c9b2 v3.7.18
-rabbitmq_web_stomp_examples 8e1dc308359e20ea34882d1b664d8529849fed6d v3.7.18
+rabbit 39b57573df9ab26d98724235b1be12a9773e6c11
+rabbit_common fe67d981c2c393b053c9df6b7f6523c8f484e4d0
+rabbitmq_amqp1_0 efebe416a5bdcbef29a9102f5a95e4d094b67474 v3.7.19
+rabbitmq_auth_backend_cache 745233e297dd8110660fae55322a7878b489151a v3.7.19
+rabbitmq_auth_backend_http c130398b7d2abf45be897d67499263d3beddbb1a v3.7.19
+rabbitmq_auth_backend_ldap 6a9560000e676ced23933c4bf4474ef5b9845698
+rabbitmq_auth_mechanism_ssl decabd86963e535dc3f326c408e5279167ee553b v3.7.19
+rabbitmq_aws e64adca1d513ea3d86aafb68a6c9ba0047da1985 v3.7.19
+rabbitmq_cli 6aaa2fbde7e5172a9e933bcbebfacbcf397b0a85
+rabbitmq_codegen b808d4231384eeaa11af0e8f26436ee5b6f96bec v3.7.19
+rabbitmq_consistent_hash_exchange 5ff7f6718413bcc6427c92c4b3ab5bea1360acf3
v3.7.19
+rabbitmq_event_exchange d2518a66ced5db5404e8d1da69ca36ec4b0db206 v3.7.19
+rabbitmq_federation e6f0e2c6b62dca303ec4f870bbd1ae1216c74651 v3.7.19
+rabbitmq_federation_management 7dfd6f98688e54cfbdc0370537df705cfb65177e
+rabbitmq_jms_topic_exchange 70f89eda4650daf9e366f15b2bed05051d91d23c v3.7.19
+rabbitmq_management a19a05943c75195ed4bb8825e4b9535413ccdea2 v3.7.19
+rabbitmq_management_agent bcd12aecfd95dc8e0109cc6d9c0ce6b72ec6e9a7 v3.7.19
+rabbitmq_mqtt f73d4021eaddca5c3a0e7be33ffcb1331b078889
+rabbitmq_peer_discovery_aws 45c208a21f734db2ecc5cc253060e7ed03b0e63c
+rabbitmq_peer_discovery_common 9a5913c2577d2693b99d7a84b67ae08aaf3cd511
+rabbitmq_peer_discovery_consul b0fd6a01b288cb29abfc3263d6836ff7f34fd45e
+rabbitmq_peer_discovery_etcd cdb9ccc888a4a25cb2e4265e6b55214f01a828cc
+rabbitmq_peer_discovery_k8s 2da5a78716361c0d37a09fc7b6b1f11c4f0ee5ef
+rabbitmq_random_exchange 62ac0effd3e64518758e52aadcf2a7d49cec2ce3 v3.7.19
+rabbitmq_recent_history_exchange ad2e479cf76fbb3c8a125bd4b39e6e85b5f01157
v3.7.19
+rabbitmq_sharding ed15e34adce9cfa330481c1450ed0eb857420bb5 v3.7.19
+rabbitmq_shovel 858ca0e51f21e494af11f9d496bdceedff43af9d v3.7.19
+rabbitmq_shovel_management 4ed231a13054f9bab228462c82dfa977429436c8
+rabbitmq_stomp 000226a067e9397a7dedcc871c15572f37bf8562 v3.7.19
+rabbitmq_top 7dfe45fee14628f1b5bb9f424c28500981fe140e v3.7.19
+rabbitmq_tracing e5772822957c2c636b63ba484afdfd8d64063335
+rabbitmq_trust_store ab8138c3a38d6c5bbc0ca862b01995c0f70198a1 v3.7.19
+rabbitmq_web_dispatch 473d3af6226ba5673461aed74a8e1e060461c593 v3.7.19
+rabbitmq_web_mqtt 4e826a436f8ff81e761b1eb732a43f9ac9396ff5 v3.7.19
+rabbitmq_web_mqtt_examples dce1cb830ab85a93515781e596ff29d268fa16d0 v3.7.19
+rabbitmq_web_stomp 5b6cdf44ecaec6cc35b6e8049c56eb0a0068c9b2 v3.7.19
+rabbitmq_web_stomp_examples 8e1dc308359e20ea34882d1b664d8529849fed6d v3.7.19
ranch
recon
stdout_formatter