Skip to content

Commit 6a05bce

Browse files
committed
KEP-4540: Promote the CPUManager Policy Option strict-cpu-reservation to GA
updated kep.yaml, removed references to Beta feature gate in README where needed
1 parent 562dd75 commit 6a05bce

File tree

3 files changed

+18
-15
lines changed

3 files changed

+18
-15
lines changed

keps/prod-readiness/sig-node/4540.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ alpha:
33
approver: "@soltysh"
44
beta:
55
approver: "@soltysh"
6+
stable:
7+
approver: "@soltysh"

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

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
4545
- [x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
4646
- [x] (R) KEP approvers have approved the KEP status as `implementable`
4747
- [x] (R) Design details are appropriately documented
48-
- [ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
48+
- [x] (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)
5050
- [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)
5151
- [x] (R) Minimum Two Week Window for GA e2e tests to prove flake free
@@ -129,7 +129,7 @@ When `strict-cpu-reservation` is enabled:
129129

130130
### Risks and Mitigations
131131

132-
The feature is isolated to a specific policy option `strict-cpu-reservation` under `cpuManagerPolicyOptions` and is protected by feature gate `CPUManagerPolicyBetaOptions` before the feature graduates to `Stable` i.e. always enabled.
132+
The feature is isolated to a specific policy option `strict-cpu-reservation` under `cpuManagerPolicyOptions`.
133133

134134
Concern for feature impact on best-effort workloads, the workloads that do not have resource requests, is brought up.
135135

@@ -313,8 +313,8 @@ No new integration tests for kubelet are planned.
313313

314314
#### GA
315315

316-
- [ ] Allow time for feedback (1 year).
317-
- [ ] Make sure all risks have been addressed.
316+
- [X] Allow time for feedback (two releases).
317+
- [X] Make sure all risks have been addressed.
318318

319319
### Upgrade / Downgrade Strategy
320320

@@ -332,9 +332,6 @@ The `/var/lib/kubelet/cpu_manager_state` needs to be removed when enabling or di
332332

333333
###### How can this feature be enabled / disabled in a live cluster?
334334

335-
- [X] Feature gate (also fill in values in `kep.yaml`)
336-
- Feature gate name: `CPUManagerPolicyBetaOptions`
337-
- Components depending on the feature gate: `kubelet`
338335
- [X] Change the kubelet configuration to set a `CPUManager` policy of `static` and a `CPUManager` policy option of `strict-cpu-reservation`
339336
- Will enabling / disabling the feature require downtime of the control plane? No
340337
- Will enabling / disabling the feature require downtime or reprovisioning of a node? No -- removing `/var/lib/kubelet/cpu_manager_state` and restarting kubelet are enough.
@@ -346,13 +343,13 @@ Yes. Reserved CPU cores will be strictly used for system daemons and interrupt p
346343

347344
The feature is only enabled when all following conditions are met:
348345
1. The `static` `CPUManager` policy is selected
349-
2. The `CPUManagerPolicyBetaOptions` feature gate is enabled and the `strict-cpu-reservation` policy option is selected
346+
2. The `strict-cpu-reservation` policy option is selected
350347
3. The `reservedSystemCPUs` is not empty
351348

352349
###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?
353350

354-
Yes, the feature can be disabled by:
355-
1. Disable feature gate `CPUManagerPolicyBetaOptions` or remove `strict-cpu-reservation` from the list of `CPUManager` policy options
351+
Yes, the feature can be disabled by the following steps:
352+
1. Remove `strict-cpu-reservation` from the list of `CPUManager` policy options
356353
2. Remove `/var/lib/kubelet/cpu_manager_state` and restart kubelet
357354

358355
###### What happens if we reenable the feature if it was previously rolled back?
@@ -361,7 +358,7 @@ The feature will be enabled regardless it is enabled for the first time or not.
361358

362359
###### Are there any tests for feature enablement/disablement?
363360

364-
- A specific e2e test will demonstrate that the default behaviour is preserved when the feature gate is disabled, or when the feature is not used (2 separate tests)
361+
- A specific e2e test will demonstrate that the default behaviour is preserved when the feature is not used (2 separate tests)
365362

366363
### Rollout, Upgrade and Rollback Planning
367364

@@ -561,7 +558,7 @@ You can safely disable the feature.
561558
- 2024-03-08: Initial KEP created
562559
- 2024-10-07: KEP gets LGTM and Approval
563560
- 2025-02-03: KEP updated with Beta criteria
564-
561+
- 2025-09-30: KEP updated with GA criteria
565562

566563
## Drawbacks
567564

keps/sig-node/4540-strict-cpu-reservation/kep.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ title: Add CPUManager policy option to restrict reservedSystemCPUs to system dae
22
kep-number: 4540
33
authors:
44
- "@jingczhang"
5+
- "@psasnal"
56
owning-sig: sig-node
67
participating-sigs: []
78
status: implementable
@@ -15,12 +16,14 @@ see-also: []
1516
replaces: []
1617

1718
# The target maturity stage in the current dev cycle for this KEP.
18-
stage: beta
19+
# If the purpose of this KEP is to deprecate a user-visible feature
20+
# and a Deprecated feature gates are added, they should be deprecated|disabled|removed.
21+
stage: stable
1922

2023
# The most recent milestone for which work toward delivery of this KEP has been
2124
# done. This can be the current (upcoming) milestone, if it is being actively
2225
# worked on.
23-
latest-milestone: "v1.33"
26+
latest-milestone: "v1.35"
2427

2528
# The milestone at which this feature was, or is targeted to be, at each stage.
2629
milestone:
@@ -31,10 +34,11 @@ milestone:
3134
# The following PRR answers are required at alpha release
3235
# List the feature gate name and the components for which it must be enabled
3336
feature-gates:
37+
- name: "CPUManagerPolicyOptions"
38+
- name: "CPUManagerPolicyAlphaOptions"
3439
- name: "CPUManagerPolicyBetaOptions"
3540
components:
3641
- kubelet
37-
3842
disable-supported: true
3943

4044
# The following PRR answers are required at beta release

0 commit comments

Comments
 (0)