OpenSearch/test
David Turner 8a565c4fa6
Voting config exclusions should work with absent nodes (#55291)
Today the voting config exclusions API accepts node filters and resolves them
to a collection of node IDs against the current cluster membership.

This is problematic since we may want to exclude nodes that are not currently
members of the cluster. For instance:

- if attempting to remove a flaky node from the cluster you cannot reliably
  exclude it from the voting configuration since it may not reliably be a
  member of the cluster

- if `cluster.auto_shrink_voting_configuration: false` then naively shrinking
  the cluster will remove some nodes but will leaving their node IDs in the
  voting configuration. The only way to clean up the voting configuration is to
  grow the cluster back to its original size (potentially replacing some of the
  voting configuration) and then use the exclusions API.

This commit adds an alternative API that accepts node names and node IDs but
not node filters in general, and deprecates the current node-filters-based API.

Relates #47990.
Backport of #50836 to 7.x.

Co-authored-by: zacharymorn <zacharymorn@gmail.com>
2020-04-16 12:28:50 +01:00
..
fixtures Use task avoidance with forbidden apis (#55034) 2020-04-15 13:27:53 -07:00
framework Voting config exclusions should work with absent nodes (#55291) 2020-04-16 12:28:50 +01:00
logger-usage Remove deprecated third-party methods from tests (#55255) (#55269) 2020-04-15 17:54:47 -04:00
build.gradle [7.x] Re-add origin url information to publish POM files (#55173) 2020-04-14 13:24:15 -07:00