summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2021-11-16 16:37:28 +0300
committermergify-bot <noreply@mergify.io>2021-11-16 14:37:17 +0000
commitd836d840149e395082be1d33c3a487197a3640af (patch)
tree116dbe31c65cf00f3987f4876b509c37670e58bd
parentab4419cb97a339078b9523434fc3e2ba0e23947c (diff)
downloadrabbitmq-server-git-mergify/bp/v3.9.x/pr-3740.tar.gz
Distribution listener settings support in rabbitmq.confmergify/bp/v3.9.x/pr-3740
* distribution.listener.interface * distribution.listener.port_range.min * distribution.listener.port_range.max Closes #3739 (cherry picked from commit 8a30cf1c86640cda7bc66563d477869e0ea29a83)
-rw-r--r--deps/rabbit/priv/schema/rabbit.schema33
-rw-r--r--deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets22
2 files changed, 54 insertions, 1 deletions
diff --git a/deps/rabbit/priv/schema/rabbit.schema b/deps/rabbit/priv/schema/rabbit.schema
index be584c18fe..d146276a30 100644
--- a/deps/rabbit/priv/schema/rabbit.schema
+++ b/deps/rabbit/priv/schema/rabbit.schema
@@ -1803,6 +1803,37 @@ end}.
{validators, ["non_zero_positive_integer"]}
]}.
+{mapping, "distribution.listener.port_range.min", "kernel.inet_dist_listen_min", [
+ {datatype, [integer]},
+ {validators, ["non_zero_positive_integer"]}
+]}.
+
+{mapping, "distribution.listener.port_range.max", "kernel.inet_dist_listen_max", [
+ {datatype, [integer]},
+ {validators, ["non_zero_positive_integer"]}
+]}.
+
+{mapping, "distribution.listener.interface", "kernel.inet_dist_use_interface", [
+ {datatype, [string]},
+ {validators, ["is_ip"]}
+]}.
+
+{translation, "kernel.inet_dist_use_interface",
+ fun(Conf) ->
+ case cuttlefish:conf_get("distribution.listener.interface", Conf, undefined) of
+ undefined ->
+ cuttlefish:unset();
+ Value when is_list(Value) ->
+ case inet:parse_address(Value) of
+ {ok, Parsed} -> Parsed;
+ {error, _} -> cuttlefish:invalid("should be a valid IP address")
+ end;
+ _ ->
+ cuttlefish:invalid("should be a valid IP address")
+ end
+ end
+}.
+
% ==========================
% sysmon_handler section
% ==========================
@@ -2104,7 +2135,7 @@ fun(File) ->
end
end}.
-{validator, "is_ip", "string is a valid IP address",
+{validator, "is_ip", "value should be a valid IP address",
fun(IpStr) ->
Res = inet:parse_address(IpStr),
element(1, Res) == ok
diff --git a/deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets b/deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets
index 214a2d1e66..e41ae8cd6d 100644
--- a/deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets
+++ b/deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets
@@ -72,6 +72,28 @@ ssl_options.fail_if_no_peer_cert = true",
{num_acceptors,
"num_acceptors.ssl = 1",[{rabbit,[{num_ssl_acceptors,1}]}],[]},
+ {distribution_listener,
+ "distribution.listener.interface = 192.168.0.1
+ distribution.listener.port_range.min = 25679
+ distribution.listener.port_range.max = 25679",
+ [{kernel, [
+ {inet_dist_listen_min, 25679},
+ {inet_dist_listen_max, 25679},
+ {inet_dist_use_interface, {192,168,0,1}}
+ ]}],
+ []},
+
+ {distribution_listener_ipv6,
+ "distribution.listener.interface = ::1
+ distribution.listener.port_range.min = 25679
+ distribution.listener.port_range.max = 25679",
+ [{kernel, [
+ {inet_dist_listen_min, 25679},
+ {inet_dist_listen_max, 25679},
+ {inet_dist_use_interface, {0,0,0,0,0,0,0,1}}
+ ]}],
+ []},
+
{socket_writer_gc_threshold,
"socket_writer.gc_threshold = 999666111", [{rabbit, [{writer_gc_threshold, 999666111}]}],[]},