open-nomad/command/agent/testdata
Luiz Aoqui b656981cf0
Track plan rejection history and automatically mark clients as ineligible (#13421)
Plan rejections occur when the scheduler work and the leader plan
applier disagree on the feasibility of a plan. This may happen for valid
reasons: since Nomad does parallel scheduling, it is expected that
different workers will have a different state when computing placements.

As the final plan reaches the leader plan applier, it may no longer be
valid due to a concurrent scheduling taking up intended resources. In
these situations the plan applier will notify the worker that the plan
was rejected and that they should refresh their state before trying
again.

In some rare and unexpected circumstances it has been observed that
workers will repeatedly submit the same plan, even if they are always
rejected.

While the root cause is still unknown this mitigation has been put in
place. The plan applier will now track the history of plan rejections
per client and include in the plan result a list of node IDs that should
be set as ineligible if the number of rejections in a given time window
crosses a certain threshold. The window size and threshold value can be
adjusted in the server configuration.

To avoid marking several nodes as ineligible at one, the operation is rate
limited to 5 nodes every 30min, with an initial burst of 10 operations.
2022-07-12 18:40:20 -04:00
..
sample1 Track plan rejection history and automatically mark clients as ineligible (#13421) 2022-07-12 18:40:20 -04:00
basic.hcl Track plan rejection history and automatically mark clients as ineligible (#13421) 2022-07-12 18:40:20 -04:00
basic.json Track plan rejection history and automatically mark clients as ineligible (#13421) 2022-07-12 18:40:20 -04:00
config-slices-alt.json config parse_test check for string coercion in client.meta 2019-06-10 13:12:38 -04:00
config-slices.hcl
config-slices.json config parse_test check for string coercion in client.meta 2019-06-10 13:12:38 -04:00
non-optional.hcl chore: Format hcl configurations 2019-07-20 16:55:07 +02:00
non-optional.json
obj-len-one-server.json
obj-len-one.hcl use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
obj-len-one.json use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
plugin.hcl chore: Format hcl configurations 2019-07-20 16:55:07 +02:00
plugin.json
sample0.json Track plan rejection history and automatically mark clients as ineligible (#13421) 2022-07-12 18:40:20 -04:00