diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD b/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD index 599d26d0128..20bcfa4cb76 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD @@ -31,6 +31,7 @@ go_test( "//staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset:go_default_library", "//staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme:go_default_library", "//staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options:go_default_library", + "//staging/src/k8s.io/apiextensions-apiserver/pkg/features:go_default_library", "//staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library", diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/BUILD b/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/BUILD index a53a94c5b9c..4468e4bff43 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/BUILD +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/BUILD @@ -11,6 +11,7 @@ go_test( "//staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1:go_default_library", "//staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset:go_default_library", "//staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options:go_default_library", + "//staging/src/k8s.io/apiextensions-apiserver/pkg/features:go_default_library", "//staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures:go_default_library", "//staging/src/k8s.io/apiextensions-apiserver/test/integration/storage:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", @@ -23,7 +24,9 @@ go_test( "//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/etcd3:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/dynamic:go_default_library", + "//staging/src/k8s.io/component-base/featuregate/testing:go_default_library", "//vendor/github.com/google/go-cmp/cmp:go_default_library", "//vendor/k8s.io/utils/pointer:go_default_library", ], diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/conversion_test.go b/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/conversion_test.go index 8c8d0eb3c43..520757a155e 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/conversion_test.go +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/conversion/conversion_test.go @@ -27,11 +27,6 @@ import ( "time" "github.com/google/go-cmp/cmp" - apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features" - - utilfeature "k8s.io/apiserver/pkg/util/feature" - - featuregatetesting "k8s.io/component-base/featuregate/testing" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -43,13 +38,16 @@ import ( "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/wait" etcd3watcher "k8s.io/apiserver/pkg/storage/etcd3" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/dynamic" + featuregatetesting "k8s.io/component-base/featuregate/testing" "k8s.io/utils/pointer" apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" "k8s.io/apiextensions-apiserver/pkg/cmd/server/options" serveroptions "k8s.io/apiextensions-apiserver/pkg/cmd/server/options" + apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features" "k8s.io/apiextensions-apiserver/test/integration/fixtures" "k8s.io/apiextensions-apiserver/test/integration/storage" ) @@ -61,18 +59,14 @@ func checks(checkers ...Checker) []Checker { } func TestWebhookConverter(t *testing.T) { - testWebhookConverter(t, false, false) -} - -func TestWebhookConverterWithPruning(t *testing.T) { - testWebhookConverter(t, true, false) + testWebhookConverter(t, false) } func TestWebhookConverterWithDefaulting(t *testing.T) { - testWebhookConverter(t, true, true) + testWebhookConverter(t, true) } -func testWebhookConverter(t *testing.T, pruning, defaulting bool) { +func testWebhookConverter(t *testing.T, defaulting bool) { tests := []struct { group string handler http.Handler @@ -140,7 +134,6 @@ func testWebhookConverter(t *testing.T, pruning, defaulting bool) { defer tearDown() crd := multiVersionFixture.DeepCopy() - crd.Spec.PreserveUnknownFields = pointer.BoolPtr(!pruning) if !defaulting { for i := range crd.Spec.Versions { @@ -995,7 +988,8 @@ var multiVersionFixture = &apiextensionsv1beta1.CustomResourceDefinition{ ListKind: "MultiVersionList", Categories: []string{"all"}, }, - Scope: apiextensionsv1beta1.NamespaceScoped, + Scope: apiextensionsv1beta1.NamespaceScoped, + PreserveUnknownFields: pointer.BoolPtr(false), Versions: []apiextensionsv1beta1.CustomResourceDefinitionVersion{ { // storage version, same schema as v1alpha1 diff --git a/test/e2e/apimachinery/crd_conversion_webhook.go b/test/e2e/apimachinery/crd_conversion_webhook.go index 6cabd2b5207..3a378ba7103 100644 --- a/test/e2e/apimachinery/crd_conversion_webhook.go +++ b/test/e2e/apimachinery/crd_conversion_webhook.go @@ -61,11 +61,28 @@ var apiVersions = []v1beta1.CustomResourceDefinitionVersion{ Name: "v1", Served: true, Storage: true, + Schema: &v1beta1.CustomResourceValidation{ + OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ + Type: "object", + Properties: map[string]v1beta1.JSONSchemaProps{ + "hostPort": {Type: "string"}, + }, + }, + }, }, { Name: "v2", Served: true, Storage: false, + Schema: &v1beta1.CustomResourceValidation{ + OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ + Type: "object", + Properties: map[string]v1beta1.JSONSchemaProps{ + "host": {Type: "string"}, + "port": {Type: "string"}, + }, + }, + }, }, } @@ -74,11 +91,28 @@ var alternativeAPIVersions = []v1beta1.CustomResourceDefinitionVersion{ Name: "v1", Served: true, Storage: false, + Schema: &v1beta1.CustomResourceValidation{ + OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ + Type: "object", + Properties: map[string]v1beta1.JSONSchemaProps{ + "hostPort": {Type: "string"}, + }, + }, + }, }, { Name: "v2", Served: true, Storage: true, + Schema: &v1beta1.CustomResourceValidation{ + OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ + Type: "object", + Properties: map[string]v1beta1.JSONSchemaProps{ + "host": {Type: "string"}, + "port": {Type: "string"}, + }, + }, + }, }, } @@ -122,6 +156,7 @@ var _ = SIGDescribe("CustomResourceConversionWebhook", func() { }, }, } + crd.Spec.PreserveUnknownFields = pointer.BoolPtr(false) }) if err != nil { return @@ -145,6 +180,7 @@ var _ = SIGDescribe("CustomResourceConversionWebhook", func() { }, }, } + crd.Spec.PreserveUnknownFields = pointer.BoolPtr(false) }) if err != nil { return