Merge pull request #130013 from yongruilin/crd-racheting-ga

KEP-4008: promote CRDValidationRatcheting to GA
This commit is contained in:
Kubernetes Prow Robot 2025-02-18 18:08:25 -08:00 committed by GitHub
commit bff54e4020
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 8 additions and 1 deletions

View File

@ -127,6 +127,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
apiextensionsfeatures.CRDValidationRatcheting: { apiextensionsfeatures.CRDValidationRatcheting: {
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha}, {Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta}, {Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
}, },
CrossNamespaceVolumeDataSource: { CrossNamespaceVolumeDataSource: {

View File

@ -56,6 +56,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
CRDValidationRatcheting: { CRDValidationRatcheting: {
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha}, {Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta}, {Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
{Version: version.MustParse("1.33"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
}, },
CustomResourceFieldSelectors: { CustomResourceFieldSelectors: {
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha}, {Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},

View File

@ -46,6 +46,7 @@ import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/apimachinery/pkg/util/version"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
utilyaml "k8s.io/apimachinery/pkg/util/yaml" utilyaml "k8s.io/apimachinery/pkg/util/yaml"
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
@ -365,7 +366,6 @@ type ratchetingTestCase struct {
} }
func runTests(t *testing.T, cases []ratchetingTestCase) { func runTests(t *testing.T, cases []ratchetingTestCase) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CRDValidationRatcheting, true)
tearDown, apiExtensionClient, dynamicClient, err := fixtures.StartDefaultServerWithClients(t) tearDown, apiExtensionClient, dynamicClient, err := fixtures.StartDefaultServerWithClients(t)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -1994,6 +1994,7 @@ func BenchmarkRatcheting(b *testing.B) {
} }
func TestRatchetingDropFields(t *testing.T) { func TestRatchetingDropFields(t *testing.T) {
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.32"))
// Field dropping only takes effect when feature is disabled // Field dropping only takes effect when feature is disabled
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CRDValidationRatcheting, false) featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CRDValidationRatcheting, false)
tearDown, apiExtensionClient, _, err := fixtures.StartDefaultServerWithClients(t) tearDown, apiExtensionClient, _, err := fixtures.StartDefaultServerWithClients(t)

View File

@ -322,6 +322,10 @@
lockToDefault: false lockToDefault: false
preRelease: Beta preRelease: Beta
version: "1.30" version: "1.30"
- default: true
lockToDefault: true
preRelease: GA
version: "1.33"
- name: CronJobsScheduledAnnotation - name: CronJobsScheduledAnnotation
versionedSpecs: versionedSpecs:
- default: true - default: true