Skip to content

Commit 1a9786c

Browse files
committed
address review
1 parent 603325a commit 1a9786c

File tree

2 files changed

+56
-4
lines changed

2 files changed

+56
-4
lines changed

keps/sig-scheduling/3022-min-domains-in-pod-topology-spread/README.md

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,13 @@ With the flow, this deployment will be spread over at least 5 Nodes while protec
198198

199199
### Test Plan
200200

201+
202+
[x] I/we understand the owners of the involved components may require updates to
203+
existing tests to make this code solid enough prior to committing the changes necessary
204+
to implement this enhancement.
205+
206+
##### Prerequisite testing updates
207+
201208
To ensure this feature to be rolled out in high quality. Following tests are mandatory:
202209

203210
- **Unit Tests**: All core changes must be covered by unit tests.
@@ -207,6 +214,52 @@ To ensure this feature to be rolled out in high quality. Following tests are man
207214
using this feature, but it shouldn't impose penalty to users who are not using
208215
this feature. We will verify it by designing some benchmark tests.
209216

217+
##### Unit tests
218+
219+
<!--
220+
In principle every added code should have complete unit test coverage, so providing
221+
the exact set of tests will not bring additional value.
222+
However, if complete unit test coverage is not possible, explain the reason of it
223+
together with explanation why this is acceptable.
224+
-->
225+
226+
<!--
227+
Additionally, for Alpha try to enumerate the core package you will be touching
228+
to implement this enhancement and provide the current unit coverage for those
229+
in the form of:
230+
- <package>: <date> - <current test coverage>
231+
The data can be easily read from:
232+
https://testgrid.k8s.io/sig-testing-canaries#ci-kubernetes-coverage-unit
233+
This can inform certain test coverage improvements that we want to do before
234+
extending the production code to implement this enhancement.
235+
-->
236+
237+
- `k8s.io/kubernetes/pkg/scheduler/framework/plugins/podtopologyspread`: `2020-06-17` - `86%`
238+
239+
##### Integration tests
240+
241+
<!--
242+
This question should be filled when targeting a release.
243+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
244+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
245+
https://storage.googleapis.com/k8s-triage/index.html
246+
-->
247+
248+
test: https://github.com/kubernetes/kubernetes/blob/19c8a2127177b43effb9bfe1de272d6f08ea56e8/test/integration/scheduler/filters/filters_test.go#L1060
249+
k8s-triage: https://storage.googleapis.com/k8s-triage/index.html?sig=scheduling&test=TestPodTopologySpreadFilter
250+
251+
##### e2e tests
252+
253+
<!--
254+
This question should be filled when targeting a release.
255+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
256+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
257+
https://storage.googleapis.com/k8s-triage/index.html
258+
We expect no non-infra related flakes in the last month as a GA graduation criteria.
259+
-->
260+
261+
N/A
262+
210263
### Graduation Criteria
211264

212265
#### Alpha (v1.24):
@@ -320,16 +373,16 @@ are missing a bunch of machinery and tooling and can't do that now.
320373
Yes. The behavior is changed as expected.
321374

322375
Test scenario:
323-
1. start kube-apiserver that `MinDomains` feature is enabled.
376+
1. start kube-apiserver where `MinDomains` feature is enabled.
324377
2. create three nodes and pods spread across nodes as 2/2/1
325378
3. create new Pod that has a TopologySpreadConstraints: maxSkew is 1, topologyKey is `kubernetes.io/hostname`, and minDomains is 4 (larger than the number of domains (= 3)).
326379
4. the Pod created in (3) isn't scheduled because of `MinDomain`.
327380
5. delete the Pod created in (3).
328-
6. recraete kube-apiserver that `MinDomains` feature is disabled.
381+
6. recreate kube-apiserver where `MinDomains` feature is disabled.
329382
7. create the same Pod as (3).
330383
8. the Pod created in (7) is scheduled because `MinDomain` is disabled.
331384
9. delete the Pod created in (7).
332-
10. recreate kube-apiserver that `MinDomains` feature is enabled.
385+
10. recreate kube-apiserver where `MinDomains` feature is enabled.
333386
11. create the same Pod as (3).
334387
12. the Pod created in (11) isn't scheduled because of `MinDomain`.
335388

keps/sig-scheduling/3022-min-domains-in-pod-topology-spread/kep.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ latest-milestone: "v1.25"
1919
milestone:
2020
alpha: "v1.24"
2121
beta: "v1.25"
22-
stable: "v1.26"
2322
disable-supported: true
2423
feature-gates:
2524
- name: MinDomainsInPodTopologySpread

0 commit comments

Comments
 (0)