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: {
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
},
CrossNamespaceVolumeDataSource: {

View File

@ -56,6 +56,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
CRDValidationRatcheting: {
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
{Version: version.MustParse("1.33"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
},
CustomResourceFieldSelectors: {
{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/schema"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/apimachinery/pkg/util/version"
"k8s.io/apimachinery/pkg/util/wait"
utilyaml "k8s.io/apimachinery/pkg/util/yaml"
utilfeature "k8s.io/apiserver/pkg/util/feature"
@ -365,7 +366,6 @@ type ratchetingTestCase struct {
}
func runTests(t *testing.T, cases []ratchetingTestCase) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CRDValidationRatcheting, true)
tearDown, apiExtensionClient, dynamicClient, err := fixtures.StartDefaultServerWithClients(t)
if err != nil {
t.Fatal(err)
@ -1994,6 +1994,7 @@ func BenchmarkRatcheting(b *testing.B) {
}
func TestRatchetingDropFields(t *testing.T) {
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.32"))
// Field dropping only takes effect when feature is disabled
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CRDValidationRatcheting, false)
tearDown, apiExtensionClient, _, err := fixtures.StartDefaultServerWithClients(t)

View File

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