2019-01-07 12:11:14 -05:00
|
|
|
[[voting-config-exclusions]]
|
2019-07-19 14:35:36 -04:00
|
|
|
=== Voting configuration exclusions API
|
2019-01-07 12:11:14 -05:00
|
|
|
++++
|
2019-10-22 13:27:31 -04:00
|
|
|
<titleabbrev>Voting configuration exclusions</titleabbrev>
|
2019-01-07 12:11:14 -05:00
|
|
|
++++
|
|
|
|
|
|
|
|
Adds or removes master-eligible nodes from the
|
|
|
|
<<modules-discovery-voting,voting configuration exclusion list>>.
|
|
|
|
|
|
|
|
|
2019-08-16 09:41:15 -04:00
|
|
|
[[voting-config-exclusions-api-request]]
|
|
|
|
==== {api-request-title}
|
2019-01-07 12:11:14 -05:00
|
|
|
|
2020-04-20 14:47:09 -04:00
|
|
|
`POST _cluster/voting_config_exclusions?node_names=<node_names>` +
|
|
|
|
|
|
|
|
`POST _cluster/voting_config_exclusions?node_ids=<node_ids>` +
|
2019-01-07 12:11:14 -05:00
|
|
|
|
2019-08-16 09:41:15 -04:00
|
|
|
`DELETE _cluster/voting_config_exclusions`
|
2019-01-07 12:11:14 -05:00
|
|
|
|
|
|
|
|
2019-08-16 09:41:15 -04:00
|
|
|
[[voting-config-exclusions-api-desc]]
|
|
|
|
==== {api-description-title}
|
2019-01-07 12:11:14 -05:00
|
|
|
|
|
|
|
By default, if there are more than three master-eligible nodes in the cluster
|
|
|
|
and you remove fewer than half of the master-eligible nodes in the cluster at
|
|
|
|
once, the <<modules-discovery-voting,voting configuration>> automatically
|
|
|
|
shrinks.
|
|
|
|
|
|
|
|
If you want to shrink the voting configuration to contain fewer than three nodes
|
|
|
|
or to remove half or more of the master-eligible nodes in the cluster at once,
|
|
|
|
you must use this API to remove departed nodes from the voting configuration
|
|
|
|
manually. It adds an entry for that node in the voting configuration exclusions
|
|
|
|
list. The cluster then tries to reconfigure the voting configuration to remove
|
|
|
|
that node and to prevent it from returning.
|
|
|
|
|
|
|
|
If the API fails, you can safely retry it. Only a successful response
|
|
|
|
guarantees that the node has been removed from the voting configuration and will
|
|
|
|
not be reinstated.
|
|
|
|
|
|
|
|
NOTE: Voting exclusions are required only when you remove at least half of the
|
|
|
|
master-eligible nodes from a cluster in a short time period. They are not
|
|
|
|
required when removing master-ineligible nodes or fewer than half of the
|
|
|
|
master-eligible nodes.
|
|
|
|
|
2019-08-16 09:41:15 -04:00
|
|
|
For more information, see <<modules-discovery-removing-nodes>>.
|
|
|
|
|
|
|
|
[[voting-config-exclusions-api-query-params]]
|
|
|
|
==== {api-query-parms-title}
|
|
|
|
|
2020-04-20 14:47:09 -04:00
|
|
|
`node_names`::
|
|
|
|
A comma-separated list of the names of the nodes to exclude from the voting
|
|
|
|
configuration. If specified, you may not also specify `?node_ids`.
|
|
|
|
|
|
|
|
`node_ids`::
|
|
|
|
A comma-separated list of the persistent ids of the nodes to exclude from the
|
|
|
|
voting configuration. If specified, you may not also specify `?node_names`.
|
|
|
|
|
|
|
|
`timeout`::
|
|
|
|
(Optional, <<time-units, time units>>) When adding a voting configuration
|
|
|
|
exclusion, the API waits for the specified nodes to be excluded from the voting
|
|
|
|
configuration before returning. The period of time to wait is specified by the
|
|
|
|
`?timeout` query parameter. If the timeout expires before the appropriate
|
|
|
|
condition is satisfied, the request fails and returns an error. Defaults to
|
|
|
|
`30s`.
|
|
|
|
|
|
|
|
`wait_for_removal`::
|
2020-10-29 10:05:57 -04:00
|
|
|
(Optional, Boolean) Specifies whether to wait for all excluded nodes to be
|
2020-04-20 14:47:09 -04:00
|
|
|
removed from the cluster before clearing the voting configuration exclusions
|
|
|
|
list. Defaults to `true`, meaning that all excluded nodes must be removed from
|
|
|
|
the cluster before this API takes any action. If set to `false` then the voting
|
|
|
|
configuration exclusions list is cleared even if some excluded nodes are still
|
|
|
|
in the cluster.
|
2019-08-16 09:41:15 -04:00
|
|
|
|
|
|
|
[[voting-config-exclusions-api-example]]
|
|
|
|
==== {api-examples-title}
|
2019-01-07 12:11:14 -05:00
|
|
|
|
2020-04-20 14:47:09 -04:00
|
|
|
Adds nodes named `nodeName1` and `nodeName2` to the voting configuration
|
|
|
|
exclusions list:
|
2019-08-16 09:41:15 -04:00
|
|
|
|
2019-09-09 13:38:14 -04:00
|
|
|
[source,console]
|
2019-01-07 12:11:14 -05:00
|
|
|
--------------------------------------------------
|
2020-04-20 14:47:09 -04:00
|
|
|
POST /_cluster/voting_config_exclusions?node_names=nodeName1,nodeName2
|
2019-01-07 12:11:14 -05:00
|
|
|
--------------------------------------------------
|
2019-08-16 09:41:15 -04:00
|
|
|
|
2019-01-07 12:11:14 -05:00
|
|
|
Remove all exclusions from the list:
|
2019-08-16 09:41:15 -04:00
|
|
|
|
2019-09-09 13:38:14 -04:00
|
|
|
[source,console]
|
2019-01-07 12:11:14 -05:00
|
|
|
--------------------------------------------------
|
|
|
|
DELETE /_cluster/voting_config_exclusions
|
|
|
|
--------------------------------------------------
|