Skip to content

Commit 1137a6a

Browse files
authored
Merge pull request kubernetes#127093 from jpbetz/retry-generate-name-ga
Promote RetryGenerateName to GA
2 parents d6bb550 + 0d14bac commit 1137a6a

File tree

6 files changed

+30
-10
lines changed

6 files changed

+30
-10
lines changed

pkg/features/kube_features.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,8 +1003,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
10031003

10041004
genericfeatures.ResilientWatchCacheInitialization: {Default: true, PreRelease: featuregate.Beta},
10051005

1006-
genericfeatures.RetryGenerateName: {Default: true, PreRelease: featuregate.Beta},
1007-
10081006
genericfeatures.SeparateCacheWatchRPC: {Default: true, PreRelease: featuregate.Beta},
10091007

10101008
genericfeatures.StorageVersionAPI: {Default: false, PreRelease: featuregate.Alpha},

pkg/features/versioned_kube_features.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,4 +438,9 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
438438
KubeletRegistrationGetOnExistsOnly: {
439439
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated},
440440
},
441+
genericfeatures.RetryGenerateName: {
442+
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
443+
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
444+
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
445+
},
441446
}

staging/src/k8s.io/apiserver/pkg/features/kube_features.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ const (
189189
// owner: @jpbetz
190190
// alpha: v1.30
191191
// beta: v1.31
192+
// ga: v1.32
192193
// Resource create requests using generateName are retried automatically by the apiserver
193194
// if the generated name conflicts with an existing resource name, up to a maximum number of 7 retries.
194195
RetryGenerateName featuregate.Feature = "RetryGenerateName"
@@ -300,6 +301,11 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
300301
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
301302
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
302303
},
304+
RetryGenerateName: {
305+
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
306+
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
307+
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
308+
},
303309
}
304310

305311
// defaultKubernetesFeatureGates consists of all known Kubernetes-specific feature keys.
@@ -337,8 +343,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
337343

338344
ResilientWatchCacheInitialization: {Default: true, PreRelease: featuregate.Beta},
339345

340-
RetryGenerateName: {Default: true, PreRelease: featuregate.Beta},
341-
342346
SeparateCacheWatchRPC: {Default: true, PreRelease: featuregate.Beta},
343347

344348
StorageVersionAPI: {Default: false, PreRelease: featuregate.Alpha},

staging/src/k8s.io/apiserver/pkg/registry/generic/registry/store_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import (
4545
"k8s.io/apimachinery/pkg/selection"
4646
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
4747
"k8s.io/apimachinery/pkg/util/validation/field"
48+
"k8s.io/apimachinery/pkg/util/version"
4849
"k8s.io/apimachinery/pkg/util/wait"
4950
"k8s.io/apiserver/pkg/apis/example"
5051
examplev1 "k8s.io/apiserver/pkg/apis/example/v1"
@@ -447,6 +448,8 @@ func TestStoreCreateWithRetryNameGenerate(t *testing.T) {
447448
}
448449

449450
func TestStoreCreateWithRetryNameGenerateFeatureDisabled(t *testing.T) {
451+
// Preserve testing of disabled RetryGenerateName feature gate since it can still be disabled when emulation version is set.
452+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"))
450453
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RetryGenerateName, false)
451454
namedObj := func(id int) *example.Pod {
452455
return &example.Pod{
@@ -2981,6 +2984,8 @@ func (p *predictableNameGenerator) GenerateName(base string) string {
29812984
}
29822985

29832986
func TestStoreCreateGenerateNameConflict(t *testing.T) {
2987+
// Preserve testing of disabled RetryGenerateName feature gate since it can still be disabled when emulation version is set.
2988+
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.31"))
29842989
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RetryGenerateName, false)
29852990

29862991
// podA will be stored with name foo12345

test/featuregates_linter/test_data/unversioned_feature_list.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,6 @@
178178
lockToDefault: false
179179
preRelease: Beta
180180
version: ""
181-
- name: RetryGenerateName
182-
versionedSpecs:
183-
- default: true
184-
lockToDefault: false
185-
preRelease: Beta
186-
version: ""
187181
- name: SeparateCacheWatchRPC
188182
versionedSpecs:
189183
- default: true

test/featuregates_linter/test_data/versioned_feature_list.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,6 +706,20 @@
706706
lockToDefault: false
707707
preRelease: Alpha
708708
version: "1.31"
709+
- name: RetryGenerateName
710+
versionedSpecs:
711+
- default: false
712+
lockToDefault: false
713+
preRelease: Alpha
714+
version: "1.30"
715+
- default: true
716+
lockToDefault: false
717+
preRelease: Beta
718+
version: "1.31"
719+
- default: true
720+
lockToDefault: true
721+
preRelease: GA
722+
version: "1.32"
709723
- name: RotateKubeletServerCertificate
710724
versionedSpecs:
711725
- default: false

0 commit comments

Comments
 (0)