Skip to content

Commit 3b79cc4

Browse files
committed
Take care of PRR review comments (2nd round).
1 parent fb1e5bd commit 3b79cc4

File tree

1 file changed

+50
-6
lines changed
  • keps/sig-node/4540-strict-cpu-reservation

1 file changed

+50
-6
lines changed

keps/sig-node/4540-strict-cpu-reservation/README.md

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
4747
- [x] (R) Design details are appropriately documented
4848
- [ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
4949
- [x] e2e Tests for all Beta API Operations (endpoints)
50-
- [ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
51-
- [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
50+
- [x] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
51+
- [x] (R) Minimum Two Week Window for GA e2e tests to prove flake free
5252
- [ ] (R) Graduation criteria is in place
5353
- [ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
54-
- [ ] (R) Production readiness review completed
54+
- [x] (R) Production readiness review completed
5555
- [ ] (R) Production readiness review approved
5656
- [x] "Implementation History" section is up-to-date for milestone
5757
- [x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
@@ -118,7 +118,7 @@ reservedSystemCPUs: "0,32,1,33,16,48"
118118
When `strict-cpu-reservation` is disabled:
119119
```console
120120
# cat /var/lib/kubelet/cpu_manager_state
121-
{"policyName":"static","defaultCpuSet":"0-64","checksum":1241370203}
121+
{"policyName":"static","defaultCpuSet":"0-63","checksum":1058907510}
122122
```
123123

124124
When `strict-cpu-reservation` is enabled:
@@ -404,10 +404,54 @@ Describe manual testing that was done and the outcomes.
404404
Longer term, we may want to require automated upgrade/rollback tests, but we
405405
are missing a bunch of machinery and tooling and can't do that now.
406406
-->
407+
If you have this feature enabled in v1.32 under `CPUManagerPolicyAlphaOptions` (default to false) you will continue to have the feature enabled in v1.33 under `CPUManagerPolicyBetaOptions` (default to true) automatically i.e. no extra action is needed.
408+
To enable or disable this feature in v1.33, follow the feature activation and de-activation procedures described above.
407409

408-
End users have this feature enabled in v1.32 under `CPUManagerPolicyAlphaOptions` (default to false) will continue to have the feature enabled in v1.33 under `CPUManagerPolicyBetaOptions` (default to true) automatically i.e. no extra action is needed.
410+
Manual upgrade->downgrade->upgrade testing from v1.32 to v1.33 is as follows:
409411

410-
To enable or disable this feature in v1.33, follow the feature activation and de-activation procedures described above.
412+
With the following Kubelet configuration and `cpu_manager_state` v1.32:
413+
414+
```yaml
415+
kind: KubeletConfiguration
416+
apiVersion: kubelet.config.k8s.io/v1beta1
417+
featureGates:
418+
CPUManagerPolicyAlphaOptions: true
419+
...
420+
cpuManagerPolicy: static
421+
cpuManagerPolicyOptions:
422+
strict-cpu-reservation: "true"
423+
reservedSystemCPUs: "0,32,1,33,16,48"
424+
...
425+
```
426+
427+
```console
428+
# cat /var/lib/kubelet/cpu_manager_state
429+
{"policyName":"static","defaultCpuSet":"2-15,17-31,34-47,49-63","checksum":4141502832}
430+
```
431+
432+
The same Kubelet `cpu_manager_state` will be seen after upgrading to v1.33:
433+
```console
434+
# cat /var/lib/kubelet/cpu_manager_state
435+
{"policyName":"static","defaultCpuSet":"2-15,17-31,34-47,49-63","checksum":4141502832}
436+
```
437+
438+
You are recommended to remove the `CPUManagerPolicyAlphaOptions` feature gate after upgrading to v1.33 for operational integrity, but it is not mandatory.
439+
440+
If you want to disable the feature in v1.33, you can either disable the `CPUManagerPolicyBetaOptions` feature gate, or remove the `strict-cpu-reservation` policy option. Remember to remove the `/var/lib/kubelet/cpu_manager_state` file before restarting kubelet.
441+
442+
The following `cpu_manager_state` will be seen after the feature is disabled:
443+
```console
444+
# cat /var/lib/kubelet/cpu_manager_state
445+
{"policyName":"static","defaultCpuSet":"0-63","checksum":1058907510}
446+
```
447+
448+
If you want to enable the feature in v1.33, you need to make sure the `CPUManagerPolicyBetaOptions` feature gate is not disabled and add the `strict-cpu-reservation` policy option. Remember to remove the `/var/lib/kubelet/cpu_manager_state` file before restarting kubelet.
449+
450+
The following `cpu_manager_state` will be seen after the feature is enabled:
451+
```console
452+
# cat /var/lib/kubelet/cpu_manager_state
453+
{"policyName":"static","defaultCpuSet":"2-15,17-31,34-47,49-63","checksum":4141502832}
454+
```
411455

412456
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
413457

0 commit comments

Comments
 (0)