From ae88efb24927c1719dcce79e6f58b9bcd02a16ed Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Thu, 26 Oct 2017 12:09:19 -0700 Subject: [PATCH] validation of CRD custom resources: alpha->beta --- api/openapi-spec/swagger.json | 2 +- pkg/features/kube_features.go | 2 +- .../apiextensions/v1beta1/generated.proto | 1 - .../pkg/apis/apiextensions/v1beta1/types.go | 1 - .../pkg/features/kube_features.go | 3 +- .../test/integration/BUILD | 1 - .../test/integration/validation_test.go | 31 ------------------- 7 files changed, 4 insertions(+), 37 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index c9639f65b6b..cf2d94b14e2 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -80339,7 +80339,7 @@ "type": "string" }, "validation": { - "description": "Validation describes the validation methods for CustomResources This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.", + "description": "Validation describes the validation methods for CustomResources", "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation" }, "version": { diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 197397c472b..0a2f47f09e4 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -212,6 +212,6 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS // inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: - apiextensionsfeatures.CustomResourceValidation: {Default: false, PreRelease: utilfeature.Alpha}, + apiextensionsfeatures.CustomResourceValidation: {Default: true, PreRelease: utilfeature.Beta}, SupportIPVSProxyMode: {Default: false, PreRelease: utilfeature.Alpha}, } diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto index 57a69e60c1b..7cfc44c4cf1 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto @@ -105,7 +105,6 @@ message CustomResourceDefinitionSpec { optional string scope = 4; // Validation describes the validation methods for CustomResources - // This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature. // +optional optional CustomResourceValidation validation = 5; } diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go index 937092d2491..9ac37efe0fb 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go @@ -29,7 +29,6 @@ type CustomResourceDefinitionSpec struct { // Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced Scope ResourceScope `json:"scope" protobuf:"bytes,4,opt,name=scope,casttype=ResourceScope"` // Validation describes the validation methods for CustomResources - // This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature. // +optional Validation *CustomResourceValidation `json:"validation,omitempty" protobuf:"bytes,5,opt,name=validation"` } diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go index fa78ce6ab51..80b37bf7bce 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go @@ -29,6 +29,7 @@ const ( // owner: @sttts, @nikhita // alpha: v1.8 + // beta: v1.9 // // CustomResourceValidation is a list of validation methods for CustomResources CustomResourceValidation utilfeature.Feature = "CustomResourceValidation" @@ -42,5 +43,5 @@ func init() { // To add a new feature, define a key for it above and add it here. The features will be // available throughout Kubernetes binaries. var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureSpec{ - CustomResourceValidation: {Default: false, PreRelease: utilfeature.Alpha}, + CustomResourceValidation: {Default: true, PreRelease: utilfeature.Beta}, } diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD b/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD index d61879721e0..1aca59abf8e 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/BUILD @@ -29,7 +29,6 @@ go_test( "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", - "//vendor/k8s.io/apiserver/pkg/util/feature:go_default_library", "//vendor/k8s.io/client-go/dynamic:go_default_library", ], ) diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/validation_test.go b/staging/src/k8s.io/apiextensions-apiserver/test/integration/validation_test.go index d540fa59b88..2538149e266 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/validation_test.go +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/validation_test.go @@ -25,7 +25,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/util/wait" - utilfeature "k8s.io/apiserver/pkg/util/feature" apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" "k8s.io/apiextensions-apiserver/test/integration/testserver" @@ -176,12 +175,6 @@ func TestCustomResourceValidation(t *testing.T) { } defer close(stopCh) - // enable alpha feature CustomResourceValidation - err = utilfeature.DefaultFeatureGate.Set("CustomResourceValidation=true") - if err != nil { - t.Errorf("failed to enable feature gate for CustomResourceValidation: %v", err) - } - noxuDefinition := newNoxuValidationCRD(apiextensionsv1beta1.NamespaceScoped) noxuVersionClient, err := testserver.CreateNewCustomResourceDefinition(noxuDefinition, apiExtensionClient, clientPool) if err != nil { @@ -203,12 +196,6 @@ func TestCustomResourceUpdateValidation(t *testing.T) { } defer close(stopCh) - // enable alpha feature CustomResourceValidation - err = utilfeature.DefaultFeatureGate.Set("CustomResourceValidation=true") - if err != nil { - t.Errorf("failed to enable feature gate for CustomResourceValidation: %v", err) - } - noxuDefinition := newNoxuValidationCRD(apiextensionsv1beta1.NamespaceScoped) noxuVersionClient, err := testserver.CreateNewCustomResourceDefinition(noxuDefinition, apiExtensionClient, clientPool) if err != nil { @@ -252,12 +239,6 @@ func TestCustomResourceValidationErrors(t *testing.T) { } defer close(stopCh) - // enable alpha feature CustomResourceValidation - err = utilfeature.DefaultFeatureGate.Set("CustomResourceValidation=true") - if err != nil { - t.Errorf("failed to enable feature gate for CustomResourceValidation: %v", err) - } - noxuDefinition := newNoxuValidationCRD(apiextensionsv1beta1.NamespaceScoped) noxuVersionClient, err := testserver.CreateNewCustomResourceDefinition(noxuDefinition, apiExtensionClient, clientPool) if err != nil { @@ -349,12 +330,6 @@ func TestCRValidationOnCRDUpdate(t *testing.T) { } defer close(stopCh) - // enable alpha feature CustomResourceValidation - err = utilfeature.DefaultFeatureGate.Set("CustomResourceValidation=true") - if err != nil { - t.Errorf("failed to enable feature gate for CustomResourceValidation: %v", err) - } - noxuDefinition := newNoxuValidationCRD(apiextensionsv1beta1.NamespaceScoped) // set stricter schema @@ -409,12 +384,6 @@ func TestForbiddenFieldsInSchema(t *testing.T) { } defer close(stopCh) - // enable alpha feature CustomResourceValidation - err = utilfeature.DefaultFeatureGate.Set("CustomResourceValidation=true") - if err != nil { - t.Errorf("failed to enable feature gate for CustomResourceValidation: %v", err) - } - noxuDefinition := newNoxuValidationCRD(apiextensionsv1beta1.NamespaceScoped) noxuDefinition.Spec.Validation.OpenAPIV3Schema.AdditionalProperties.Allows = false