Skip to content

Commit ad17cbb

Browse files
committed
Automatically synchronize FGs and documentation FGs list
* Add missing features
1 parent 14b1510 commit ad17cbb

File tree

8 files changed

+125
-6
lines changed

8 files changed

+125
-6
lines changed

hack/internal/tools/go.mod

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ tool (
1313
gotest.tools/gotestsum
1414
helm.sh/helm/v3/cmd/helm
1515
k8s.io/code-generator
16+
k8s.io/kubernetes/test/compatibility_lifecycle/cmd
1617
sigs.k8s.io/controller-runtime/tools/setup-envtest
1718
sigs.k8s.io/controller-tools/cmd/controller-gen
1819
sigs.k8s.io/kind
@@ -35,6 +36,7 @@ require (
3536
gotest.tools/gotestsum v1.13.0
3637
helm.sh/helm/v4 v4.0.1
3738
k8s.io/code-generator v0.34.2
39+
k8s.io/kubernetes v1.34.2
3840
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20250407161039-6ad5c1dd4418
3941
sigs.k8s.io/controller-tools v0.19.0
4042
sigs.k8s.io/kind v0.30.0
@@ -175,7 +177,7 @@ require (
175177
github.com/cncf/xds/go v0.0.0-20251110193048-8bfbf64dc13e // indirect
176178
github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be // indirect
177179
github.com/containerd/containerd v1.7.29 // indirect
178-
github.com/containerd/errdefs v0.3.0 // indirect
180+
github.com/containerd/errdefs v1.0.0 // indirect
179181
github.com/containerd/log v0.1.0 // indirect
180182
github.com/containerd/platforms v0.2.1 // indirect
181183
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect

hack/internal/tools/go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,8 +351,8 @@ github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL
351351
github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be/go.mod h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w=
352352
github.com/containerd/containerd v1.7.29 h1:90fWABQsaN9mJhGkoVnuzEY+o1XDPbg9BTC9QTAHnuE=
353353
github.com/containerd/containerd v1.7.29/go.mod h1:azUkWcOvHrWvaiUjSQH0fjzuHIwSPg1WL5PshGP4Szs=
354-
github.com/containerd/errdefs v0.3.0 h1:FSZgGOeK4yuT/+DnF07/Olde/q4KBoMsaamhXxIMDp4=
355-
github.com/containerd/errdefs v0.3.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
354+
github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI=
355+
github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
356356
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
357357
github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
358358
github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A=
@@ -1761,6 +1761,8 @@ k8s.io/kubectl v0.34.2 h1:+fWGrVlDONMUmmQLDaGkQ9i91oszjjRAa94cr37hzqA=
17611761
k8s.io/kubectl v0.34.2/go.mod h1:X2KTOdtZZNrTWmUD4oHApJ836pevSl+zvC5sI6oO2YQ=
17621762
k8s.io/kubelet v0.34.1 h1:doAaTA9/Yfzbdq/u/LveZeONp96CwX9giW6b+oHn4m4=
17631763
k8s.io/kubelet v0.34.1/go.mod h1:PtV3Ese8iOM19gSooFoQT9iyRisbmJdAPuDImuccbbA=
1764+
k8s.io/kubernetes v1.34.2 h1:WQdDvYJazkmkwSncgNwGvVtaCt4TYXIU3wSMRgvp3MI=
1765+
k8s.io/kubernetes v1.34.2/go.mod h1:m6pZk6a179pRo2wsTiCPORJ86iOEQmfIzUvtyEF8BwA=
17641766
k8s.io/metrics v0.34.2 h1:zao91FNDVPRGIiHLO2vqqe21zZVPien1goyzn0hsz90=
17651767
k8s.io/metrics v0.34.2/go.mod h1:Ydulln+8uZZctUM8yrUQX4rfq/Ay6UzsuXf24QJ37Vc=
17661768
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=

hack/internal/tools/pinversion.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
_ "gotest.tools/gotestsum"
3131
_ "helm.sh/helm/v4/cmd/helm"
3232
_ "k8s.io/code-generator"
33+
_ "k8s.io/kubernetes/test/compatibility_lifecycle"
3334
_ "sigs.k8s.io/controller-runtime/tools/setup-envtest"
3435
_ "sigs.k8s.io/controller-tools/cmd/controller-gen"
3536
_ "sigs.k8s.io/kind"

hack/update-featuregates.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ set -o nounset
1919
set -o pipefail
2020

2121
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
22-
MOD_FILE="${REPO_ROOT}/hack/tools/go.mod"
22+
MOD_FILE="${REPO_ROOT}/hack/internal/tools/go.mod"
2323
K8S_TOOL_PKG="k8s.io/kubernetes/test/compatibility_lifecycle"
2424
REFERENCE_DIR="${REPO_ROOT}/test/compatibility_lifecycle/reference"
2525
REFERENCE_FILE="${REFERENCE_DIR}/versioned_feature_list.yaml"

hack/verify-featuregates.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ set -o nounset
1919
set -o pipefail
2020

2121
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
22-
MOD_FILE="${REPO_ROOT}/hack/tools/go.mod"
22+
MOD_FILE="${REPO_ROOT}/hack/internal/tools/go.mod"
2323
K8S_TOOL_PKG="k8s.io/kubernetes/test/compatibility_lifecycle"
2424
REFERENCE_FILE="${REPO_ROOT}/test/compatibility_lifecycle/reference/versioned_feature_list.yaml"
2525
SITE_DATA_FILE="${REPO_ROOT}/site/data/featuregates/versioned_feature_list.yaml"

pkg/features/kube_features.go

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ const (
4141
// Enables flavor fungibility.
4242
FlavorFungibility featuregate.Feature = "FlavorFungibility"
4343

44+
// owner: @trasc
45+
// kep: https://github.com/kubernetes-sigs/kueue/tree/main/keps/1136-provisioning-request-support
46+
//
47+
// Enables Provisioning Admission Check Controller.
48+
ProvisioningACC featuregate.Feature = "ProvisioningACC"
49+
4450
// owner: @pbundyra
4551
// kep: https://github.com/kubernetes-sigs/kueue/tree/main/keps/168-2-pending-workloads-visibility
4652
//
@@ -96,6 +102,12 @@ const (
96102
// Enable to set default LocalQueue.
97103
LocalQueueDefaulting featuregate.Feature = "LocalQueueDefaulting"
98104

105+
// owner: @pbundyra
106+
// kep: https://github.com/kubernetes-sigs/kueue/tree/main/keps/2724-topology-aware-scheduling
107+
//
108+
// Enable to set use MostFreeCapacity algorithm for TAS
109+
TASProfileMostFreeCapacity featuregate.Feature = "TASProfileMostFreeCapacity"
110+
99111
// owner: @pbundyra
100112
// kep: https://github.com/kubernetes-sigs/kueue/tree/main/keps/2724-topology-aware-scheduling
101113
//
@@ -228,6 +240,12 @@ const (
228240
// issue: https://github.com/kubernetes-sigs/kueue/issues/6757
229241
// Enabled failure recovery of pods stuck in terminating state.
230242
FailureRecoveryPolicy featuregate.Feature = "FailureRecoveryPolicy"
243+
244+
// owner: @dgrove-oss
245+
// kep: https://github.com/kubernetes-sigs/kueue/tree/main/keps/3589-manage-jobs-selectively
246+
//
247+
// Enable namespace-based control of manageJobsWithoutQueueNames for all Job integrations
248+
ManagedJobsNamespaceSelector featuregate.Feature = "ManagedJobsNamespaceSelector"
231249
)
232250

233251
func init() {
@@ -245,7 +263,6 @@ var defaultVersionedFeatureGates = map[featuregate.Feature]featuregate.Versioned
245263
{Version: version.MustParse("0.4"), Default: false, PreRelease: featuregate.Alpha},
246264
{Version: version.MustParse("0.5"), Default: true, PreRelease: featuregate.Beta},
247265
},
248-
249266
FlavorFungibility: {
250267
{Version: version.MustParse("0.5"), Default: true, PreRelease: featuregate.Beta},
251268
},
@@ -288,6 +305,14 @@ var defaultVersionedFeatureGates = map[featuregate.Feature]featuregate.Versioned
288305
{Version: version.MustParse("0.10"), Default: false, PreRelease: featuregate.Alpha},
289306
{Version: version.MustParse("0.11"), Default: false, PreRelease: featuregate.Deprecated},
290307
},
308+
// Missing, but present on the website:
309+
// TASProfileMostFreeCapacity false Deprecated 0.11 0.13
310+
TASProfileMostFreeCapacity: {
311+
{Version: version.MustParse("0.10"), Default: false, PreRelease: featuregate.Alpha},
312+
{Version: version.MustParse("0.11"), Default: false, PreRelease: featuregate.Deprecated},
313+
},
314+
315+
// On the website: TASProfileMixed false Deprecated 0.11
291316
TASProfileMixed: {
292317
{Version: version.MustParse("0.10"), Default: false, PreRelease: featuregate.Alpha},
293318
{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},
@@ -311,17 +336,36 @@ var defaultVersionedFeatureGates = map[featuregate.Feature]featuregate.Versioned
311336
{Version: version.MustParse("0.13"), Default: false, PreRelease: featuregate.Alpha},
312337
},
313338
TASFailedNodeReplacementFailFast: {
339+
// On the website: TASFailedNodeReplacementFailFast false Alpha 0.12 0.13
314340
{Version: version.MustParse("0.13"), Default: false, PreRelease: featuregate.Alpha},
315341
{Version: version.MustParse("0.14"), Default: true, PreRelease: featuregate.Beta},
316342
},
317343
TASReplaceNodeOnPodTermination: {
318344
{Version: version.MustParse("0.13"), Default: false, PreRelease: featuregate.Alpha},
319345
{Version: version.MustParse("0.14"), Default: true, PreRelease: featuregate.Beta},
320346
},
347+
// Missing, but present on the website:
348+
// ManagedJobsNamespaceSelector true Beta 0.10 0.13
349+
// ManagedJobsNamespaceSelector true GA 0.13
350+
ManagedJobsNamespaceSelector: {
351+
{Version: version.MustParse("0.10"), Default: true, PreRelease: featuregate.Beta},
352+
{Version: version.MustParse("0.13"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 0.16
353+
},
354+
321355
ManagedJobsNamespaceSelectorAlwaysRespected: {
322356
{Version: version.MustParse("0.13"), Default: false, PreRelease: featuregate.Alpha},
323357
{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},
324358
},
359+
// Missing, but present on the website:
360+
// ProvisioningACC false Alpha 0.5 0.6
361+
// ProvisioningACC true Beta 0.7
362+
// ProvisioningACC true GA 0.14
363+
ProvisioningACC: {
364+
{Version: version.MustParse("0.5"), Default: false, PreRelease: featuregate.Alpha},
365+
{Version: version.MustParse("0.7"), Default: true, PreRelease: featuregate.Beta},
366+
{Version: version.MustParse("0.14"), Default: true, PreRelease: featuregate.GA},
367+
},
368+
325369
FlavorFungibilityImplicitPreferenceDefault: {
326370
{Version: version.MustParse("0.13"), Default: false, PreRelease: featuregate.Alpha},
327371
{Version: version.MustParse("0.15"), Default: false, PreRelease: featuregate.Deprecated}, // remove in 0.16
@@ -342,13 +386,15 @@ var defaultVersionedFeatureGates = map[featuregate.Feature]featuregate.Versioned
342386
SanitizePodSets: {
343387
{Version: version.MustParse("0.13"), Default: true, PreRelease: featuregate.Beta},
344388
},
389+
// On the website: MultiKueueAllowInsecureKubeconfigs false Alpha 0.13
345390
MultiKueueAllowInsecureKubeconfigs: {
346391
{Version: version.MustParse("0.15"), Default: false, PreRelease: featuregate.Alpha},
347392
},
348393
ReclaimablePods: {
349394
{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},
350395
},
351396
// PropagateBatchJobLabelsToWorkload is anabled from 0.13.10 and 0.14.5.
397+
// why not 0.13
352398
PropagateBatchJobLabelsToWorkload: {
353399
{Version: version.MustParse("0.15"), Default: true, PreRelease: featuregate.Beta},
354400
},

site/data/featuregates/versioned_feature_list.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,16 @@
9191
lockToDefault: false
9292
preRelease: Alpha
9393
version: "0.10"
94+
- name: ManagedJobsNamespaceSelector
95+
versionedSpecs:
96+
- default: true
97+
lockToDefault: false
98+
preRelease: Beta
99+
version: "0.10"
100+
- default: true
101+
lockToDefault: true
102+
preRelease: GA
103+
version: "0.13"
94104
- name: ManagedJobsNamespaceSelectorAlwaysRespected
95105
versionedSpecs:
96106
- default: false
@@ -175,6 +185,20 @@
175185
lockToDefault: false
176186
preRelease: Beta
177187
version: "0.15"
188+
- name: ProvisioningACC
189+
versionedSpecs:
190+
- default: false
191+
lockToDefault: false
192+
preRelease: Alpha
193+
version: "0.5"
194+
- default: true
195+
lockToDefault: false
196+
preRelease: Beta
197+
version: "0.7"
198+
- default: true
199+
lockToDefault: false
200+
preRelease: GA
201+
version: "0.14"
178202
- name: ReclaimablePods
179203
versionedSpecs:
180204
- default: true
@@ -233,6 +257,16 @@
233257
lockToDefault: false
234258
preRelease: Beta
235259
version: "0.15"
260+
- name: TASProfileMostFreeCapacity
261+
versionedSpecs:
262+
- default: false
263+
lockToDefault: false
264+
preRelease: Alpha
265+
version: "0.10"
266+
- default: false
267+
lockToDefault: false
268+
preRelease: Deprecated
269+
version: "0.11"
236270
- name: TASReplaceNodeOnPodTermination
237271
versionedSpecs:
238272
- default: false

test/compatibility_lifecycle/reference/versioned_feature_list.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,16 @@
9191
lockToDefault: false
9292
preRelease: Alpha
9393
version: "0.10"
94+
- name: ManagedJobsNamespaceSelector
95+
versionedSpecs:
96+
- default: true
97+
lockToDefault: false
98+
preRelease: Beta
99+
version: "0.10"
100+
- default: true
101+
lockToDefault: true
102+
preRelease: GA
103+
version: "0.13"
94104
- name: ManagedJobsNamespaceSelectorAlwaysRespected
95105
versionedSpecs:
96106
- default: false
@@ -175,6 +185,20 @@
175185
lockToDefault: false
176186
preRelease: Beta
177187
version: "0.15"
188+
- name: ProvisioningACC
189+
versionedSpecs:
190+
- default: false
191+
lockToDefault: false
192+
preRelease: Alpha
193+
version: "0.5"
194+
- default: true
195+
lockToDefault: false
196+
preRelease: Beta
197+
version: "0.7"
198+
- default: true
199+
lockToDefault: false
200+
preRelease: GA
201+
version: "0.14"
178202
- name: ReclaimablePods
179203
versionedSpecs:
180204
- default: true
@@ -233,6 +257,16 @@
233257
lockToDefault: false
234258
preRelease: Beta
235259
version: "0.15"
260+
- name: TASProfileMostFreeCapacity
261+
versionedSpecs:
262+
- default: false
263+
lockToDefault: false
264+
preRelease: Alpha
265+
version: "0.10"
266+
- default: false
267+
lockToDefault: false
268+
preRelease: Deprecated
269+
version: "0.11"
236270
- name: TASReplaceNodeOnPodTermination
237271
versionedSpecs:
238272
- default: false

0 commit comments

Comments
 (0)