open-nomad/scheduler
Tim Gross 38a0057715
quotas: evaluate quota feasibility last in scheduler (#10753)
The `QuotaIterator` is used as the source of nodes passed into feasibility
checking for constraints. Every node that passes the quota check counts the
allocation resources agains the quota, and as a result we count nodes which
will be later filtered out by constraints. Therefore for jobs with
constraints, nodes that are feasibility checked but fail have been counted
against quotas. This failure mode is order dependent; if all the unfiltered
nodes happen to be quota checked first, everything works as expected.

This changeset moves the `QuotaIterator` to happen last among all feasibility
checkers (but before ranking). The `QuotaIterator` will never receive filtered
nodes so it will calculate quotas correctly.
2021-06-14 10:11:40 -04:00
..
annotate.go scheduler: label loops with nested switch statements for effective break (#8528) 2020-07-24 08:50:41 -04:00
annotate_test.go Deprecate IOPS 2018-12-06 15:09:26 -08:00
context.go scheduler: fix panic when preempting and evicting 2019-12-02 20:22:22 -08:00
context_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
device.go Change types of weights on spread/affinity 2019-01-30 12:20:38 -08:00
device_test.go Change types of weights on spread/affinity 2019-01-30 12:20:38 -08:00
feasible.go add support for host network interpolation 2021-04-13 09:53:05 -04:00
feasible_test.go add support for host network interpolation 2021-04-13 09:53:05 -04:00
generic_sched.go Merge pull request #10248 from hashicorp/f-remotetask-2021 2021-04-30 08:57:26 -07:00
generic_sched_test.go Merge pull request #10248 from hashicorp/f-remotetask-2021 2021-04-30 08:57:26 -07:00
preemption.go Only preempt for network when there is a network 2019-06-07 18:55:55 -04:00
preemption_test.go Allow configuring memory oversubscription (#10466) 2021-04-29 22:09:56 -04:00
propertyset.go server 2018-09-15 16:23:13 -07:00
rank.go Allow configuring memory oversubscription (#10466) 2021-04-29 22:09:56 -04:00
rank_test.go Allow configuring memory oversubscription (#10466) 2021-04-29 22:09:56 -04:00
reconcile.go core: propagate remote task handles 2021-04-27 15:07:03 -07:00
reconcile_test.go scheduler: test for reconciler's in-place rollback behavior 2021-06-03 10:02:19 -04:00
reconcile_util.go core: propagate remote task handles 2021-04-27 15:07:03 -07:00
reconcile_util_test.go removed deprecated fields from Drain structs and API 2021-03-21 15:30:11 +00:00
scheduler.go CSI: remove prefix matching from CSIVolumeByID and fix CLI prefix matching (#10158) 2021-03-18 14:32:40 -04:00
scheduler_oss.go include pro tag in serveral oss.go files 2020-02-10 15:56:14 -05:00
select.go Implement affinity support in generic scheduler 2018-09-04 16:10:11 -05:00
select_test.go Implement affinity support in generic scheduler 2018-09-04 16:10:11 -05:00
spread.go More error->debug for logging in the bin packing iterator 2019-12-12 15:50:16 -06:00
spread_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
stack.go quotas: evaluate quota feasibility last in scheduler (#10753) 2021-06-14 10:11:40 -04:00
stack_not_ent.go sync 2017-10-13 14:36:02 -07:00
stack_test.go CSI: unique volume per allocation 2021-03-18 15:35:11 -04:00
system_sched.go Add metrics for blocked eval resources (#10454) 2021-04-29 15:03:45 -04:00
system_sched_test.go removed deprecated fields from Drain structs and API 2021-03-21 15:30:11 +00:00
testing.go tests: use standard library testing.TB 2021-06-09 16:18:45 -07:00
util.go consul: plubming for specifying consul namespace in job/group 2021-04-05 10:03:19 -06:00
util_test.go Merge branch 'main' into f-node-drain-api 2021-04-01 15:22:57 -05:00