Merge pull request #127093 from jpbetz/retry-generate-name-ga
Promote RetryGenerateName to GA Kubernetes-commit: 1137a6a0cc98c49d2076461ce3d741a619a129e8
This commit is contained in:
commit
11af6bbc46
|
|
@ -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},
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue