Skip to content

Commit

Permalink
Add Test Plan and Alpha Graduation criteria.
Browse files Browse the repository at this point in the history
Also specify validation of Plugins.QueueSort

Signed-off-by: Aldo Culquicondor <[email protected]>
  • Loading branch information
alculquicondor committed Jan 21, 2020
1 parent b21124f commit 1b4685f
Showing 1 changed file with 28 additions and 13 deletions.
41 changes: 28 additions & 13 deletions keps/sig-scheduling/20200114-multi-scheduling-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ approvers:
editor: TBD
creation-date: 2020-01-14
last-updated: 2020-01-14
status: provisional
status: implementable
see-also:
- "/keps/sig-scheduling/20180409-scheduling-framework.md"
- "/keps/sig-scheduling/20190226-default-even-pod-spreading.md"
Expand Down Expand Up @@ -42,17 +42,16 @@ see-also:
- [Design Details](#design-details)
- [Test Plan](#test-plan)
- [Graduation Criteria](#graduation-criteria)
- [Alpha -&gt; Beta Graduation](#alpha---beta-graduation)
- [Beta -&gt; GA Graduation](#beta---ga-graduation)
- [Alpha (v1.18):](#alpha-v118)
- [Implementation History](#implementation-history)
<!-- /toc -->

## Release Signoff Checklist

- [x] kubernetes/enhancements issue in release milestone, which links to KEP (this should be a link to the KEP location in kubernetes/enhancements, not the initial KEP PR)
- [ ] KEP approvers have set the KEP status to `implementable`
- [ ] Design details are appropriately documented
- [ ] Test plan is in place, giving consideration to SIG Architecture and SIG Testing input
- [x] KEP approvers have set the KEP status to `implementable`
- [x] Design details are appropriately documented
- [x] Test plan is in place, giving consideration to SIG Architecture and SIG Testing input
- [ ] Graduation criteria is in place
- [ ] "Implementation History" section is up-to-date for milestone
- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
Expand Down Expand Up @@ -192,6 +191,9 @@ similar result as the binary is starting.
`SchedulerName` values will be validated to not repeat among the items of
`Profiles`.

Since kube-scheduler has only one queue, we will validate that all `Plugins.QueueSort`
configurations are strictly the same.

##### CLI flags binding

Note that, if component config is used, deprecated flags are currently ignored,
Expand Down Expand Up @@ -244,19 +246,32 @@ the scheduler documentation.

### Test Plan

TODO
The following tests need to be in place:

### Graduation Criteria
- **Unit Tests**: For Component Config API conversion and defaults, core scheduler and scheduler
instantiation. Current tests that use a default scheduler (or default framework) should continue
passing with minimal changes.
- **Integration tests**: Current tests with a default scheduler should continue passing with minimal
changes. We need new tests exercising more than one profile, in which:
- Each profile would favor specific pods, so that we can verify assignment.
- Pods get binding events for the selected scheduler name.
- Pods that don't specify a scheduler name continue to be scheduled by the default profile.

##### Alpha -> Beta Graduation
### Graduation Criteria

TODO
#### Alpha (v1.18):

##### Beta -> GA Graduation
These are the required changes:

TODO
- [ ] New `v1alpha2` ComponentConfig API, with conversion from `v1alpha1` and defaults.
- [ ] New feature gate.
- [ ] Scheduler can run more than one framework:
- [ ] Scheduler adds unscheduled pods to the pending queue for more than one name.
- [ ] Scheduler uses a framework using the scheduler name specified by the pod.
- [ ] Tests from [Test Plan](#test-plan).

## Implementation History

- 2020-01-14: Initial KEP sent out for review, including Summary, Motivation
and Proposal
and Proposal.
- 2020-01-21: Test Plan and Alpha Graduation criteria in KEP.

0 comments on commit 1b4685f

Please sign in to comment.