Skip to content

Commit 592363a

Browse files
authored
Merge pull request kubernetes#3346 from kerthcet/feature/ga-conponent-config
Feat: graduate kube-scheduler component config to GA
2 parents 141d410 + 38c3dc4 commit 592363a

File tree

3 files changed

+108
-3
lines changed

3 files changed

+108
-3
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
kep-number: 785
22
beta:
33
approver: "@wojtek-t"
4+
stable:
5+
approver: "@wojtek-t"

keps/sig-scheduling/785-scheduler-component-config-api/README.md

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
- [Risks and Mitigations](#risks-and-mitigations)
1111
- [Design Details](#design-details)
1212
- [Test Plan](#test-plan)
13+
- [Prerequisite testing updates](#prerequisite-testing-updates)
14+
- [Unit tests](#unit-tests)
15+
- [Integration tests](#integration-tests)
16+
- [e2e tests](#e2e-tests)
1317
- [Graduation Criteria](#graduation-criteria)
1418
- [Alpha -> Beta Graduation](#alpha---beta-graduation)
1519
- [Beta -> GA Graduation](#beta---ga-graduation)
@@ -35,7 +39,7 @@
3539
- [x] (R) Production readiness review completed
3640
- [x] Production readiness review approved
3741
- [x] "Implementation History" section is up-to-date for milestone
38-
- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
42+
- [x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
3943
- [ ] Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
4044

4145
[kubernetes.io]: https://kubernetes.io/
@@ -133,13 +137,93 @@ This will be documented in https://kubernetes.io/docs/reference/scheduling/profi
133137

134138
### Test Plan
135139

140+
<!--
141+
**Note:** *Not required until targeted at a release.*
142+
The goal is to ensure that we don't accept enhancements with inadequate testing.
143+
144+
All code is expected to have adequate tests (eventually with coverage
145+
expectations). Please adhere to the [Kubernetes testing guidelines][testing-guidelines]
146+
when drafting this test plan.
147+
148+
[testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
149+
-->
150+
136151
- [x] Compatibility tests for defaults and overrides of `.bindTimeoutSeconds`
137152
in `VolumeBindingArgs` type.
138153
- [x] Tests for `RequestedToCapacityRatioArgs` that: (1) fail to pass with
139154
bad casing and (2) get encoded with lower case.
140155
- [x] Tests for parsing, conversion, defaulting and validation.
141156
- [] Tests which assert predictability of node assignment with increased weights.
142157

158+
[x] I/we understand the owners of the involved components may require updates to
159+
existing tests to make this code solid enough prior to committing the changes necessary
160+
to implement this enhancement.
161+
162+
##### Prerequisite testing updates
163+
164+
<!--
165+
Based on reviewers feedback describe what additional tests need to be added prior
166+
implementing this enhancement to ensure the enhancements have also solid foundations.
167+
-->
168+
None
169+
170+
##### Unit tests
171+
172+
<!--
173+
In principle every added code should have complete unit test coverage, so providing
174+
the exact set of tests will not bring additional value.
175+
However, if complete unit test coverage is not possible, explain the reason of it
176+
together with explanation why this is acceptable.
177+
-->
178+
179+
<!--
180+
Additionally, for Alpha try to enumerate the core package you will be touching
181+
to implement this enhancement and provide the current unit coverage for those
182+
in the form of:
183+
- <package>: <date> - <current test coverage>
184+
The data can be easily read from:
185+
https://testgrid.k8s.io/sig-testing-canaries#ci-kubernetes-coverage-unit
186+
187+
This can inform certain test coverage improvements that we want to do before
188+
extending the production code to implement this enhancement.
189+
-->
190+
191+
- `cmd/kube-scheduler/app`: `2022-06-13` - `32.2%`
192+
- `cmd/kube-scheduler/app/options`: `2022-06-13` - `42.2%`
193+
- `pkg/scheduler/apis/config/scheme`: `2022-06-13` - `100%`
194+
- `pkg/scheduler/apis/config/v1`: `2022-06-13` - `0%`
195+
- `pkg/scheduler/apis/config/validation`: `2022-06-13` - `93.9%`
196+
197+
198+
##### Integration tests
199+
200+
<!--
201+
This question should be filled when targeting a release.
202+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
203+
204+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
205+
https://storage.googleapis.com/k8s-triage/index.html
206+
-->
207+
We have no special integration tests to cover the graduation of Component Config. But we do
208+
cover the latest Component Config in scheduling by using the latest version. See
209+
- [Configuring plugins with the latest Component Config](https://github.com/kubernetes/kubernetes/blob/master/test/integration/scheduler/plugins/plugins_test.go)
210+
- [Preemption](https://github.com/kubernetes/kubernetes/blob/master/test/integration/scheduler/preemption/preemption_test.go)
211+
- [Queueing](https://github.com/kubernetes/kubernetes/blob/master/test/integration/scheduler/queue_test.go)
212+
- [Scheduling in score](https://github.com/kubernetes/kubernetes/blob/master/test/integration/scheduler/scoring/priorities_test.go)
213+
214+
##### e2e tests
215+
216+
<!--
217+
This question should be filled when targeting a release.
218+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
219+
220+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
221+
https://storage.googleapis.com/k8s-triage/index.html
222+
223+
We expect no non-infra related flakes in the last month as a GA graduation criteria.
224+
-->
225+
None.
226+
143227
### Graduation Criteria
144228

145229
#### Alpha -> Beta Graduation
@@ -228,6 +312,12 @@ N/A
228312
When `v1` gets introduced:
229313
- Mark `v1beta2` as deprecated.
230314

315+
* **Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?**
316+
317+
Yes, when `v1` gets introduced, we'll mark `v1beta2` as deprecated, and
318+
remove the support of `v1beta2` in 1.26.
319+
320+
231321
### Monitoring requirements
232322

233323
* **How can an operator determine if the feature is in use by workloads?**
@@ -252,6 +342,18 @@ N/A
252342

253343
N/A.
254344

345+
* **What are the reasonable SLOs (Service Level Objectives) for the enhancement?**
346+
347+
N/A
348+
349+
* **What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?**
350+
351+
N/A
352+
353+
* **Are there any missing metrics that would be useful to have to improve observability of this feature?**
354+
355+
N/A
356+
255357
### Dependencies
256358

257359
* **Does this feature depend on any specific services running in the cluster?**

keps/sig-scheduling/785-scheduler-component-config-api/kep.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ prr-approvers:
1717
see-also:
1818
- "/keps/sig-scheduling/1451-multi-scheduling-profiles"
1919
- "/keps/sig-scheduling/2458-node-resource-score-strategy"
20-
stage: beta
21-
latest-milestone: "v1.23"
20+
stage: stable
21+
latest-milestone: "v1.25"
2222
milestone:
2323
beta: "v1.19"
24+
stable: "v1.25"

0 commit comments

Comments
 (0)