kubernetes/test/compatibility_lifecycle
Francesco Romani 5a2578ce09 kubelet: promote the CustomCPUCFSQuotaPeriod to GA
Promote the CustomCPUCFSQuotaPeriod gate to GA, turning it enabled by
default. Short history of this feature so far:

As far as git and github history allows to reconstruct, this
feature was introduced without KEP/design doc process (kubernetes 1.12).
It was a double-opt-in feature: users set to first enable a FG to make
the kubelet honor a setting, then change a specific tunable to change
the behavior This is more like a “safeguard” FG
(Other noteworthy examples: `UnauthenticatedHTTP2DOSMitigation` or
`DisableCPUQuotaWithExclusiveCPUs`) rather than a KEP-driven feature gate

Major past events:
- introduced in: https://github.com/kubernetes/kubernetes/pull/63437
- Discussion about adding a FG: https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-387828654
- The change was initially accepted as straightforward, but it was
  later discovered systemd had gaps, and the change was downgraded
  as experimental: https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-391740566
- FG re-introduced because systemd acknowledged and fixed the gap,
  but the systemd rollout would take quite some time:
  https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-407950436

There's a  gap, still relevant in 2026: missing e2e tests to move past alpha:
https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-417674790

Other noteworthy work related to this feature:
- https://github.com/kubernetes/kubernetes/pull/94687
- https://github.com/kubernetes/kubernetes/pull/111520
- https://github.com/kubernetes/kubernetes/pull/129726
- https://github.com/kubernetes/kubernetes/pull/133845

Fix and modernize the related unit tests.

Signed-off-by: Francesco Romani <fromani@redhat.com>

fixup
2026-02-09 08:27:21 +01:00
..
cmd switch to latest sigs.k8s.io/yaml v1.5.0 (run update-gofmt.sh as well) 2025-06-25 11:42:12 -04:00
reference kubelet: promote the CustomCPUCFSQuotaPeriod to GA 2026-02-09 08:27:21 +01:00
main.go
OWNERS
README.md

This directory contains commands for compatibility lifecycle verification

Currently, the following commands are implemented:

# Verify feature gate list is up to date
go run test/compatibility_lifecycle/main.go feature-gates verify

# Update feature gate list
go run test/compatibility_lifecycle/main.go feature-gates update