From a20039f3d44901f4e23bba297889d39b3f9abb9b Mon Sep 17 00:00:00 2001 From: Jefftree Date: Wed, 25 Sep 2024 16:20:39 +0000 Subject: [PATCH] update and reorder features that should not be listed under deprecated --- pkg/features/kube_features.go | 34 ++++++++----------- pkg/features/versioned_kube_features.go | 12 +++++++ .../test_data/unversioned_feature_list.yaml | 18 ---------- .../test_data/versioned_feature_list.yaml | 22 ++++++++++++ 4 files changed, 48 insertions(+), 38 deletions(-) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 743d2b69c2c..5a9d4059047 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -615,6 +615,14 @@ const ( // Allow users to recover from volume expansion failure RecoverVolumeExpansionFailure featuregate.Feature = "RecoverVolumeExpansionFailure" + // owner: @AkihiroSuda + // kep: https://kep.k8s.io/3857 + // alpha: v1.30 + // beta: v1.31 + // + // Allows recursive read-only mounts. + RecursiveReadOnlyMounts featuregate.Feature = "RecursiveReadOnlyMounts" + // owner: @adrianmoisey // kep: https://kep.k8s.io/4427 // alpha: v1.32 @@ -759,6 +767,12 @@ const ( // Enables a StatefulSet to start from an arbitrary non zero ordinal StatefulSetStartOrdinal featuregate.Feature = "StatefulSetStartOrdinal" + // owner: @ahutsunshine + // beta: v1.30 + // + // Allows namespace indexer for namespace scope resources in apiserver cache to accelerate list operations. + StorageNamespaceIndex featuregate.Feature = "StorageNamespaceIndex" + // owner: @nilekhc // kep: https://kep.k8s.io/4192 // alpha: v1.30 @@ -909,12 +923,6 @@ const ( // releases. UserNamespacesPodSecurityStandards featuregate.Feature = "UserNamespacesPodSecurityStandards" - // owner: @ahutsunshine - // beta: v1.30 - // - // Allows namespace indexer for namespace scope resources in apiserver cache to accelerate list operations. - StorageNamespaceIndex featuregate.Feature = "StorageNamespaceIndex" - // owner: @jsafrane // kep: https://kep.k8s.io/1710 // alpha: v1.30 @@ -922,14 +930,6 @@ const ( // instead of changing each file on the volumes recursively. SELinuxMount featuregate.Feature = "SELinuxMount" - // owner: @AkihiroSuda - // kep: https://kep.k8s.io/3857 - // alpha: v1.30 - // beta: v1.31 - // - // Allows recursive read-only mounts. - RecursiveReadOnlyMounts featuregate.Feature = "RecursiveReadOnlyMounts" - // owner: @everpeace // kep: https://kep.k8s.io/3619 // alpha: v1.31 @@ -978,15 +978,9 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS // features that enable backwards compatibility but are scheduled to be removed // ... - HPAScaleToZero: {Default: false, PreRelease: featuregate.Alpha}, - AllowDNSOnlyNodeCSR: {Default: false, PreRelease: featuregate.Deprecated}, // remove after 1.33 AllowInsecureKubeletCertificateSigningRequests: {Default: false, PreRelease: featuregate.Deprecated}, // remove in 1.33 DisableNodeKubeProxyVersion: {Default: false, PreRelease: featuregate.Deprecated}, // default on in 1.33 - - StorageNamespaceIndex: {Default: true, PreRelease: featuregate.Beta}, - - RecursiveReadOnlyMounts: {Default: true, PreRelease: featuregate.Beta}, } diff --git a/pkg/features/versioned_kube_features.go b/pkg/features/versioned_kube_features.go index 925f61dc1e3..1fdaed8b446 100644 --- a/pkg/features/versioned_kube_features.go +++ b/pkg/features/versioned_kube_features.go @@ -331,6 +331,10 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate {Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.32 }, + HPAScaleToZero: { + {Version: version.MustParse("1.16"), Default: false, PreRelease: featuregate.Alpha}, + }, + ImageMaximumGCAge: { {Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha}, {Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta}, @@ -541,6 +545,10 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate RecoverVolumeExpansionFailure: { {Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha}, }, + RecursiveReadOnlyMounts: { + {Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha}, + {Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta}, + }, RelaxedDNSSearchValidation: { {Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha}, @@ -585,6 +593,10 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate {Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta}, }, + StorageNamespaceIndex: { + {Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta}, + }, + ServiceAccountTokenJTI: { {Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha}, {Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta}, diff --git a/test/featuregates_linter/test_data/unversioned_feature_list.yaml b/test/featuregates_linter/test_data/unversioned_feature_list.yaml index 07d839aea76..1279e5ab647 100644 --- a/test/featuregates_linter/test_data/unversioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/unversioned_feature_list.yaml @@ -34,12 +34,6 @@ lockToDefault: false preRelease: Deprecated version: "" -- name: HPAScaleToZero - versionedSpecs: - - default: false - lockToDefault: false - preRelease: Alpha - version: "" - name: InPlacePodVerticalScaling versionedSpecs: - default: false @@ -64,15 +58,3 @@ lockToDefault: false preRelease: Beta version: "" -- name: RecursiveReadOnlyMounts - versionedSpecs: - - default: true - lockToDefault: false - preRelease: Beta - version: "" -- name: StorageNamespaceIndex - versionedSpecs: - - default: true - lockToDefault: false - preRelease: Beta - version: "" diff --git a/test/featuregates_linter/test_data/versioned_feature_list.yaml b/test/featuregates_linter/test_data/versioned_feature_list.yaml index 62199c5265f..804cdd370d0 100644 --- a/test/featuregates_linter/test_data/versioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/versioned_feature_list.yaml @@ -412,6 +412,12 @@ lockToDefault: true preRelease: GA version: "1.30" +- name: HPAScaleToZero + versionedSpecs: + - default: false + lockToDefault: false + preRelease: Alpha + version: "1.16" - name: ImageMaximumGCAge versionedSpecs: - default: false @@ -842,6 +848,16 @@ lockToDefault: false preRelease: Alpha version: "1.23" +- name: RecursiveReadOnlyMounts + versionedSpecs: + - default: false + lockToDefault: false + preRelease: Alpha + version: "1.30" + - default: true + lockToDefault: false + preRelease: Beta + version: "1.31" - name: RelaxedDNSSearchValidation versionedSpecs: - default: false @@ -1048,6 +1064,12 @@ lockToDefault: true preRelease: GA version: "1.31" +- name: StorageNamespaceIndex + versionedSpecs: + - default: true + lockToDefault: false + preRelease: Beta + version: "1.30" - name: StorageVersionAPI versionedSpecs: - default: false