diff options
| author | D Corbacho <diana@rabbitmq.com> | 2016-11-14 14:36:14 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-14 14:36:14 +0000 |
| commit | c53ac3f20bc0b58b08ccec428902b1d6de4f3e75 (patch) | |
| tree | ea48ca9f675e1f8c307f2f6dde63652ba0992230 /priv | |
| parent | 6c0fdd3a7f0aa938c2a3606beae8227e0a3d3069 (diff) | |
| parent | 01f526dd8b43b8f3e85c6b5e808c27078eeb216e (diff) | |
| download | rabbitmq-server-git-c53ac3f20bc0b58b08ccec428902b1d6de4f3e75.tar.gz | |
Merge pull request #1008 from rabbitmq/rabbitmq-server-988
DNS peer discovery backend
Diffstat (limited to 'priv')
| -rw-r--r-- | priv/schema/rabbitmq.schema | 58 |
1 files changed, 51 insertions, 7 deletions
diff --git a/priv/schema/rabbitmq.schema b/priv/schema/rabbitmq.schema index 150a26b60d..f31ec5416c 100644 --- a/priv/schema/rabbitmq.schema +++ b/priv/schema/rabbitmq.schema @@ -757,6 +757,39 @@ end}. {mapping, "mirroring_sync_batch_size", "rabbit.mirroring_sync_batch_size", [{datatype, bytesize}, {validators, ["size_less_than_2G"]}]}. +%% Peer discovery backend used by autoclustering. +%% + +{mapping, "autocluster.peer_discovery_backend", "rabbit.autocluster.peer_discovery_backend", [ + {datatype, atom} +]}. + +%% Own node type used by autoclustering. +%% + +{mapping, "autocluster.node_type", "rabbit.autocluster.node_type", [ + {datatype, {enum, [disc, disk, ram]}} +]}. + +{translation, "rabbit.autocluster.node_type", +fun(Conf) -> + %% if peer discovery backend isn't configured, don't generate + %% node type + case cuttlefish:conf_get("autocluster.peer_discovery_backend", Conf, undefined) of + undefined -> cuttlefish:unset(); + _Backend -> + case cuttlefish:conf_get("autocluster.node_type", Conf) of + disc -> disc; + %% always cast to `disc` + disk -> disc; + ram -> ram; + _Other -> disc + end + end +end}. + +%% Classic config-driven autocluster backend. +%% %% Make clustering happen *automatically* at startup - only applied %% to nodes that have just been reset or started for the first time. %% See http://www.rabbitmq.com/clustering.html#auto-config for @@ -767,11 +800,6 @@ end}. {mapping, "autocluster.classic_config.nodes.$node", "rabbit.cluster_nodes", [{datatype, atom}]}. -{mapping, "autocluster.classic_config.node_type", "rabbit.cluster_nodes", [ - {datatype, {enum, [disc, disk, ram]}}, - {default, disc} -]}. - {translation, "rabbit.cluster_nodes", fun(Conf) -> Nodes = [V || {_, V} <- cuttlefish_variable:filter_by_prefix("autocluster.classic_config.nodes", Conf)], @@ -779,15 +807,29 @@ fun(Conf) -> case Nodes of [] -> cuttlefish:unset(); Other -> - case cuttlefish:conf_get("autocluster.classic_config.node_type", Conf, disc) of + case cuttlefish:conf_get("autocluster.node_type", Conf, disc) of disc -> {Other, disc}; - % Always cast to `disc` + %% Always cast to `disc` disk -> {Other, disc}; ram -> {Other, ram} end end end}. +%% DNS (A records and reverse lookups)-based peer discovery. +%% + +{mapping, "autocluster.dns.hostname", "rabbit.autocluster.peer_discovery_dns.hostname", + [{datatype, string}]}. + +{translation, "rabbit.autocluster.peer_discovery_dns.hostname", +fun(Conf) -> + case cuttlefish:conf_get("autocluster.dns.hostname", Conf, undefined) of + undefined -> cuttlefish:unset(); + Value -> list_to_binary(Value) + end +end}. + %% Interval (in milliseconds) at which we send keepalive messages %% to other cluster members. Note that this is not the same thing @@ -799,6 +841,8 @@ end}. {mapping, "cluster_keepalive_interval", "rabbit.cluster_keepalive_interval", [{datatype, integer}]}. +%% Queue master locator +%% {mapping, "queue_master_locator", "rabbit.queue_master_locator", [{datatype, string}]}. |
