Skip to content

Commit 5adfc58

Browse files
committed
replenish some information as adviced
Signed-off-by: kerthcet <kerthcet@gmail.com>
1 parent f478129 commit 5adfc58

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

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

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ checklist items _must_ be updated for the enhancement to be released.
125125
Items marked with (R) are required *prior to targeting to a milestone / release*.
126126

127127
- [x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
128-
- [ ] (R) KEP approvers have approved the KEP status as `implementable`
128+
- [x] (R) KEP approvers have approved the KEP status as `implementable`
129129
- [x] (R) Design details are appropriately documented
130130
- [x] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
131131
- [ ] e2e Tests for all Beta API Operations (endpoints)
@@ -256,9 +256,10 @@ How will UX be reviewed, and by whom?
256256
257257
Consider including folks who also work outside the SIG or subproject.
258258
-->
259-
260-
- Looping all the toleration/taints to filter out unsatisfied nodes may
261-
lead to performance problem.
259+
- Checking nodeAffinity and nodeTaints the same time may lead to performance
260+
problem, we need to verify this by adding performance tests. If performance problem
261+
does exists, we'd like to add a node selector parser and cache the parsed object
262+
during PreFilter.
262263

263264
## Design Details
264265

@@ -274,31 +275,31 @@ A new field named `NodeInclusionPolicies` will be introduced to `TopologySpreadC
274275
type TopologySpreadConstraint struct {
275276
// NodeInclusionPolicies includes several policies
276277
// when calculating pod topology spread skew
277-
NodeInclusionPolicies nodeInclusionPolicies
278+
NodeInclusionPolicies NodeInclusionPolicies
278279
}
279280
```
280281

281282
There are two policies now regarding to nodeAffinity and nodeTaint:
282283
```golang
283-
type nodeInclusionPolicies struct {
284+
type NodeInclusionPolicies struct {
284285
// Respect nodeAffinity/nodeSelector or not in calculating.
285286
// By default we will respect this policy.
286-
nodeAffinityPolicy policyName
287+
NodeAffinity PolicyName
287288
// Respect all nodeTaints or not in calculating.
288289
// By default we will ignore this policy to maintain current behavior.
289-
nodeTaintPolicy policyName
290+
NodeTaint PolicyName
290291
}
291292
```
292293

293294
We will define two policyNames by default:
294295
```golang
295-
type policyName string
296+
type PolicyName string
296297

297298
const (
298299
// Ignore means ignore this policy in calculating.
299-
ignore policyName = "ignore"
300+
Ignore PolicyName = "ignore"
300301
// Respect means use this policy in calculating.
301-
respect policyName = "respect"
302+
Respect PolicyName = "respect"
302303
)
303304
```
304305

@@ -324,8 +325,7 @@ when drafting this test plan.
324325
- Unit and integration tests:
325326
- Defaulting and validation tests
326327
- Feature gate enable/disable tests
327-
- `nodeAffinityPolicy` works as expected
328-
- `nodeTaintPolicy` works as expected
328+
- `NodeInclusionPolicies` works as expected
329329
- Benchmark tests:
330330
- Verify the performance of looping all toleration and taints in calculating skew is acceptable
331331

@@ -502,7 +502,7 @@ Yes.
502502
N/A.
503503

504504
###### Are there any tests for feature enablement/disablement?
505-
Yes.
505+
Yes, unit test will switch the feature gate manually to compare the different behavior.
506506

507507
<!--
508508
The e2e framework does not currently support enabling or disabling feature
@@ -528,7 +528,7 @@ feature flags will be enabled on some API servers and not others during the
528528
rollout. Similarly, consider large clusters and how enablement/disablement
529529
will rollout across nodes.
530530
-->
531-
A malformed configuration will cause the scheduler failing to start. Running workloads are not affected.
531+
A malformed configuration like non-exist policy will cause the scheduler failing to start. Running workloads are not affected.
532532

533533
###### What specific metrics should inform a rollback?
534534

@@ -812,7 +812,8 @@ What other approaches did you consider, and why did you rule them out? These do
812812
not need to be as detailed as the proposal, but should include enough
813813
information to express the idea and why it was not acceptable.
814814
-->
815-
N/A
815+
- Changing the current behavior without introducing control.
816+
- Checking specific taints.
816817

817818
## Infrastructure Needed (Optional)
818819

keps/sig-scheduling/3094-pod-topology-spread-considering-taints/kep.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ participating-sigs:
77
status: implementable
88
creation-date: 2021-12-30
99
reviewers:
10-
- "@ahg-g"
1110
- "@alculquicondor"
1211
- "@Huang-Wei"
1312
approvers:
14-
- TBD
13+
- "@alculquicondor"
14+
- "@Huang-Wei"
1515

1616
see-also:
1717
- "/keps/sig-scheduling/895-pod-topology-spread"
@@ -36,7 +36,7 @@ latest-milestone: "v1.24"
3636
milestone:
3737
alpha: "v1.24"
3838
beta: "v1.25"
39-
stable: "v1.26"
39+
stable: ""
4040

4141
# The following PRR answers are required at alpha release
4242
# List the feature gate name and the components for which it must be enabled

0 commit comments

Comments
 (0)