Skip to content

Commit 0e097e6

Browse files
authored
Merge pull request kubernetes#3407 from kerthcet/feat/update-enhancement
update KEP about take taints into considering with latest test plans
2 parents b324c1f + 93aace3 commit 0e097e6

File tree

1 file changed

+72
-14
lines changed
  • keps/sig-scheduling/3094-pod-topology-spread-considering-taints

1 file changed

+72
-14
lines changed

keps/sig-scheduling/3094-pod-topology-spread-considering-taints/README.md

Lines changed: 72 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ tags, and then generate with `hack/update-toc.sh`.
8989
- [Risks and Mitigations](#risks-and-mitigations)
9090
- [Design Details](#design-details)
9191
- [Test Plan](#test-plan)
92+
- [Prerequisite testing updates](#prerequisite-testing-updates)
93+
- [Unit tests](#unit-tests)
94+
- [Integration tests](#integration-tests)
95+
- [e2e tests](#e2e-tests)
9296
- [Graduation Criteria](#graduation-criteria)
9397
- [Alpha](#alpha)
9498
- [Beta](#beta)
@@ -318,27 +322,81 @@ not change the default behavior.
318322

319323
<!--
320324
**Note:** *Not required until targeted at a release.*
321-
322-
Consider the following in developing a test plan for this enhancement:
323-
- Will there be e2e and integration tests, in addition to unit tests?
324-
- How will it be tested in isolation vs with other components?
325-
326-
No need to outline all of the test cases, just the general strategy. Anything
327-
that would count as tricky in the implementation, and anything particularly
328-
challenging to test, should be called out.
325+
The goal is to ensure that we don't accept enhancements with inadequate testing.
329326
330327
All code is expected to have adequate tests (eventually with coverage
331328
expectations). Please adhere to the [Kubernetes testing guidelines][testing-guidelines]
332329
when drafting this test plan.
333330
334331
[testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
335332
-->
336-
- Unit and integration tests:
337-
- Defaulting and validation tests
338-
- Feature gate enable/disable tests
339-
- `NodeAffinityPolicy` and `NodeTaintsPolicy` work as expected
340-
- Benchmark tests:
341-
- Verify the performance of looping all toleration and taints in calculating skew is acceptable
333+
334+
[x] I/we understand the owners of the involved components may require updates to
335+
existing tests to make this code solid enough prior to committing the changes necessary
336+
to implement this enhancement.
337+
338+
##### Prerequisite testing updates
339+
340+
<!--
341+
Based on reviewers feedback describe what additional tests need to be added prior
342+
implementing this enhancement to ensure the enhancements have also solid foundations.
343+
-->
344+
No.
345+
346+
##### Unit tests
347+
348+
<!--
349+
In principle every added code should have complete unit test coverage, so providing
350+
the exact set of tests will not bring additional value.
351+
However, if complete unit test coverage is not possible, explain the reason of it
352+
together with explanation why this is acceptable.
353+
-->
354+
355+
<!--
356+
Additionally, for Alpha try to enumerate the core package you will be touching
357+
to implement this enhancement and provide the current unit coverage for those
358+
in the form of:
359+
- <package>: <date> - <current test coverage>
360+
The data can be easily read from:
361+
https://testgrid.k8s.io/sig-testing-canaries#ci-kubernetes-coverage-unit
362+
363+
This can inform certain test coverage improvements that we want to do before
364+
extending the production code to implement this enhancement.
365+
-->
366+
367+
- `pkg/api/pod`: `2022-06-17` - `66.7%`
368+
- `pkg/apis/core/validation`: `2022-06-17` - `82.1%`
369+
- `pkg/scheduler`: `2022-06-17` - `75%`
370+
- `pkg/scheduler/framework/plugins/defaultpreemption`: `2022-06-17` - `85.2%`
371+
- `pkg/scheduler/framework/plugins/podtopologyspread`: `2022-06-17` - `86%`
372+
373+
##### Integration tests
374+
375+
<!--
376+
This question should be filled when targeting a release.
377+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
378+
379+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
380+
https://storage.googleapis.com/k8s-triage/index.html
381+
-->
382+
383+
- [tests](https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/framework/plugins/podtopologyspread/filtering_test.go) with policies honored/ignored in filtering
384+
- [tests](https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/framework/plugins/podtopologyspread/scoring_test.go) with policies honored/ignored in scoring
385+
386+
##### e2e tests
387+
388+
<!--
389+
This question should be filled when targeting a release.
390+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
391+
392+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
393+
https://storage.googleapis.com/k8s-triage/index.html
394+
395+
We expect no non-infra related flakes in the last month as a GA graduation criteria.
396+
-->
397+
None. Considering we didn't introduce any new API endpoints in this KEP and this feature only impacts the kube-scheduler,
398+
so rely on integration tests to verify the scheduling results is enough.
399+
342400

343401
### Graduation Criteria
344402

0 commit comments

Comments
 (0)