diff options
author | Michael Klishin <klishinm@vmware.com> | 2021-11-16 19:02:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-16 19:02:39 +0300 |
commit | 846dde599c7aca06eca633600f9ed222bcd22b40 (patch) | |
tree | 74cccd449d09c2581ee6d563c886a24c04e0cd11 | |
parent | 2aa163b930e7c04a8ca7b186dc1564758c9c4e3e (diff) | |
parent | d836d840149e395082be1d33c3a487197a3640af (diff) | |
download | rabbitmq-server-git-846dde599c7aca06eca633600f9ed222bcd22b40.tar.gz |
Merge pull request #3743 from rabbitmq/mergify/bp/v3.9.x/pr-3740
Distribution listener settings support in rabbitmq.conf (backport #3740)
-rw-r--r-- | deps/rabbit/priv/schema/rabbit.schema | 33 | ||||
-rw-r--r-- | deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets | 22 |
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}]}],[]}, |