diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 8fbe2673c26..8b9c757a7d4 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -1002,8 +1002,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS genericfeatures.ResilientWatchCacheInitialization: {Default: true, PreRelease: featuregate.Beta}, - genericfeatures.RetryGenerateName: {Default: true, PreRelease: featuregate.Beta}, - genericfeatures.SeparateCacheWatchRPC: {Default: true, PreRelease: featuregate.Beta}, genericfeatures.StorageVersionAPI: {Default: false, PreRelease: featuregate.Alpha}, diff --git a/pkg/features/versioned_kube_features.go b/pkg/features/versioned_kube_features.go index 048474947c6..634dbaad1a9 100644 --- a/pkg/features/versioned_kube_features.go +++ b/pkg/features/versioned_kube_features.go @@ -431,4 +431,9 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate KubeletRegistrationGetOnExistsOnly: { {Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated}, }, + genericfeatures.RetryGenerateName: { + {Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha}, + {Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta}, + {Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA}, + }, } diff --git a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go index 3749145f116..7a323328ef8 100644 --- a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go +++ b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go @@ -189,6 +189,7 @@ const ( // owner: @jpbetz // alpha: v1.30 // beta: v1.31 + // ga: v1.32 // Resource create requests using generateName are retried automatically by the apiserver // if the generated name conflicts with an existing resource name, up to a maximum number of 7 retries. RetryGenerateName featuregate.Feature = "RetryGenerateName" @@ -307,6 +308,11 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate {Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha}, {Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta}, }, + RetryGenerateName: { + {Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha}, + {Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta}, + {Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA}, + }, } // defaultKubernetesFeatureGates consists of all known Kubernetes-specific feature keys. @@ -344,8 +350,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS ResilientWatchCacheInitialization: {Default: true, PreRelease: featuregate.Beta}, - RetryGenerateName: {Default: true, PreRelease: featuregate.Beta}, - SeparateCacheWatchRPC: {Default: true, PreRelease: featuregate.Beta}, StorageVersionAPI: {Default: false, PreRelease: featuregate.Alpha}, diff --git a/test/featuregates_linter/test_data/unversioned_feature_list.yaml b/test/featuregates_linter/test_data/unversioned_feature_list.yaml index ab64d8e6f7e..064657c462d 100644 --- a/test/featuregates_linter/test_data/unversioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/unversioned_feature_list.yaml @@ -178,12 +178,6 @@ lockToDefault: false preRelease: Beta version: "" -- name: RetryGenerateName - versionedSpecs: - - default: true - lockToDefault: false - preRelease: Beta - version: "" - name: SeparateCacheWatchRPC versionedSpecs: - default: true diff --git a/test/featuregates_linter/test_data/versioned_feature_list.yaml b/test/featuregates_linter/test_data/versioned_feature_list.yaml index e0dc157f936..2b7911bf29e 100644 --- a/test/featuregates_linter/test_data/versioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/versioned_feature_list.yaml @@ -700,6 +700,20 @@ lockToDefault: false preRelease: Alpha version: "1.31" +- name: RetryGenerateName + versionedSpecs: + - default: false + lockToDefault: false + preRelease: Alpha + version: "1.30" + - default: true + lockToDefault: false + preRelease: Beta + version: "1.31" + - default: true + lockToDefault: true + preRelease: GA + version: "1.32" - name: RotateKubeletServerCertificate versionedSpecs: - default: false