kubernetes/plugin/pkg/scheduler/algorithm
Kubernetes Submit Queue 34b258ca4b
Merge pull request #55933 from bsalamat/starvation3
Automatic merge from submit-queue (batch tested with PRs 54316, 53400, 55933, 55786, 55794). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add support to take nominated pods into account during scheduling to avoid starvation of higher priority pods

**What this PR does / why we need it**:
When a pod preempts lower priority pods, the preemptor gets a "nominated node name" annotation. We call such a pod a nominated pod. This PR adds the logic to take such nominated pods into account when scheduling other pods on the same node that the nominated pod is expected to run. This is needed to avoid starvation of preemptor pods. Otherwise, lower priority pods may fill up the space freed after preemption before the preemptor gets a chance to get scheduled.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #54501

**Special notes for your reviewer**: This PR is built on top of #55109 and includes all the changes there as well.

**Release note**:

```release-note
Add support to take nominated pods into account during scheduling to avoid starvation of higher priority pods.
```

/sig scheduling
ref/ #47604
2017-11-21 15:04:28 -08:00
..
predicates Added a new scheduling queue based on priority queue. 2017-11-19 11:29:23 -08:00
priorities Merge pull request #51192 from guangxuli/scheduler_priority_functions_map_reduce 2017-11-19 05:22:23 -08:00
BUILD update BUILD files 2017-10-15 18:18:13 -07:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
scheduler_interface_test.go run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
scheduler_interface.go Add logic to account for pods nominated to run on nodes, but are not running yet. 2017-11-20 22:17:05 -08:00
types_test.go run hack/update-all 2017-06-22 11:31:03 -07:00
types.go Refactor Priority Reduce functions 2017-11-08 10:00:23 -08:00
well_known_labels.go Replace node's alpha taint key with GA 2017-11-17 15:35:35 +08:00