diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-11-23 16:17:21 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-11-23 16:17:21 +0000 |
| commit | 3542d80dfc102170c591639361d41288a853e3c7 (patch) | |
| tree | 7bc03fa60098d0380edf5d95a41d44b41eded8cb /priv/schema | |
| parent | c135b70c4690ddf3fdbafb9e0a8191cb2312eaae (diff) | |
| parent | 90d640207e1f6d8d0956019fd799412677e8a965 (diff) | |
| download | rabbitmq-server-git-3542d80dfc102170c591639361d41288a853e3c7.tar.gz | |
Merge branch 'master' into rabbitmq-server-567
Diffstat (limited to 'priv/schema')
| -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}]}. |
