Merge pull request #127093 from jpbetz/retry-generate-name-ga

Promote RetryGenerateName to GA
This commit is contained in:
Kubernetes Prow Robot 2024-09-24 00:46:06 +01:00 committed by GitHub
commit 1137a6a0cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 30 additions and 10 deletions

View File

@ -1003,8 +1003,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},

View File

@ -438,4 +438,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},
},
}

View File

@ -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"
@ -300,6 +301,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.
@ -337,8 +343,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},

View File

@ -45,6 +45,7 @@ import (
"k8s.io/apimachinery/pkg/selection"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/apimachinery/pkg/util/version"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apiserver/pkg/apis/example"
examplev1 "k8s.io/apiserver/pkg/apis/example/v1"
@ -447,6 +448,8 @@ func TestStoreCreateWithRetryNameGenerate(t *testing.T) {
}
func TestStoreCreateWithRetryNameGenerateFeatureDisabled(t *testing.T) {
// Preserve testing of disabled RetryGenerateName feature gate since it can still be disabled when emulation version is set.
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"))
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RetryGenerateName, false)
namedObj := func(id int) *example.Pod {
return &example.Pod{
@ -2981,6 +2984,8 @@ func (p *predictableNameGenerator) GenerateName(base string) string {
}
func TestStoreCreateGenerateNameConflict(t *testing.T) {
// Preserve testing of disabled RetryGenerateName feature gate since it can still be disabled when emulation version is set.
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"))
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RetryGenerateName, false)
// podA will be stored with name foo12345

View File

@ -178,12 +178,6 @@
lockToDefault: false
preRelease: Beta
version: ""
- name: RetryGenerateName
versionedSpecs:
- default: true
lockToDefault: false
preRelease: Beta
version: ""
- name: SeparateCacheWatchRPC
versionedSpecs:
- default: true

View File

@ -706,6 +706,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