Skip to content

Commit 67a171a

Browse files
committed
Remove feature gate CustomResourceValidationExpressions.
1 parent 1904a56 commit 67a171a

File tree

9 files changed

+3
-30
lines changed

9 files changed

+3
-30
lines changed

cluster/gce/config-default.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ fi
265265
RUN_CCM_CONTROLLERS="${RUN_CCM_CONTROLLERS:-*,-gkenetworkparamset}"
266266

267267
# List of the set of feature gates recognized by the GCP CCM
268-
export CCM_FEATURE_GATES="APIPriorityAndFairness,APIResponseCompression,APIServerIdentity,APIServerTracing,AllAlpha,AllBeta,CustomResourceValidationExpressions,KMSv2,OpenAPIEnums,OpenAPIV3,ServerSideFieldValidation,StorageVersionAPI,StorageVersionHash"
268+
export CCM_FEATURE_GATES="APIPriorityAndFairness,APIResponseCompression,APIServerIdentity,APIServerTracing,AllAlpha,AllBeta,KMSv2,OpenAPIEnums,OpenAPIV3,ServerSideFieldValidation,StorageVersionAPI,StorageVersionHash"
269269

270270
# Optional: set feature gates
271271
# shellcheck disable=SC2034 # Variables sourced in other scripts.

cluster/gce/config-test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ if [[ -n "${NODE_ACCELERATORS}" ]]; then
316316
fi
317317

318318
# List of the set of feature gates recognized by the GCP CCM
319-
export CCM_FEATURE_GATES="APIPriorityAndFairness,APIResponseCompression,APIServerIdentity,APIServerTracing,AllAlpha,AllBeta,CustomResourceValidationExpressions,KMSv2,OpenAPIEnums,OpenAPIV3,ServerSideFieldValidation,StorageVersionAPI,StorageVersionHash"
319+
export CCM_FEATURE_GATES="APIPriorityAndFairness,APIResponseCompression,APIServerIdentity,APIServerTracing,AllAlpha,AllBeta,KMSv2,OpenAPIEnums,OpenAPIV3,ServerSideFieldValidation,StorageVersionAPI,StorageVersionHash"
320320

321321
# Optional: Install cluster DNS.
322322
# Set CLUSTER_DNS_CORE_DNS to 'false' to install kube-dns instead of CoreDNS.

pkg/features/kube_features.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,8 +1236,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
12361236

12371237
genericfeatures.ConsistentListFromCache: {Default: true, PreRelease: featuregate.Beta},
12381238

1239-
genericfeatures.CustomResourceValidationExpressions: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.31
1240-
12411239
genericfeatures.EfficientWatchResumption: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
12421240

12431241
genericfeatures.KMSv1: {Default: false, PreRelease: featuregate.Deprecated},

staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types_jsonschema.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,6 @@ type JSONSchemaProps struct {
144144
XMapType *string
145145

146146
// x-kubernetes-validations -kubernetes-validations describes a list of validation rules written in the CEL expression language.
147-
// This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.
148147
// +patchMergeKey=rule
149148
// +patchStrategy=merge
150149
// +listType=map

staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/types_jsonschema.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ type JSONSchemaProps struct {
189189
XMapType *string `json:"x-kubernetes-map-type,omitempty" protobuf:"bytes,43,opt,name=xKubernetesMapType"`
190190

191191
// x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
192-
// This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.
193192
// +patchMergeKey=rule
194193
// +patchStrategy=merge
195194
// +listType=map

staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ type JSONSchemaProps struct {
189189
XMapType *string `json:"x-kubernetes-map-type,omitempty" protobuf:"bytes,43,opt,name=xKubernetesMapType"`
190190

191191
// x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
192-
// This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.
193192
// +patchMergeKey=rule
194193
// +patchStrategy=merge
195194
// +listType=map

staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/strategy.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ import (
4444
"k8s.io/apimachinery/pkg/util/validation/field"
4545
celconfig "k8s.io/apiserver/pkg/apis/cel"
4646
"k8s.io/apiserver/pkg/cel/common"
47-
"k8s.io/apiserver/pkg/features"
4847
"k8s.io/apiserver/pkg/registry/generic"
4948
apiserverstorage "k8s.io/apiserver/pkg/storage"
5049
"k8s.io/apiserver/pkg/storage/names"
@@ -76,9 +75,7 @@ type selectableField struct {
7675

7776
func NewStrategy(typer runtime.ObjectTyper, namespaceScoped bool, kind schema.GroupVersionKind, schemaValidator, statusSchemaValidator validation.SchemaValidator, structuralSchema *structuralschema.Structural, status *apiextensions.CustomResourceSubresourceStatus, scale *apiextensions.CustomResourceSubresourceScale, selectableFields []v1.SelectableField) customResourceStrategy {
7877
var celValidator *cel.Validator
79-
if utilfeature.DefaultFeatureGate.Enabled(features.CustomResourceValidationExpressions) {
80-
celValidator = cel.NewValidator(structuralSchema, true, celconfig.PerCallLimit) // CEL programs are compiled and cached here
81-
}
78+
celValidator = cel.NewValidator(structuralSchema, true, celconfig.PerCallLimit) // CEL programs are compiled and cached here
8279

8380
strategy := customResourceStrategy{
8481
ObjectTyper: typer,

staging/src/k8s.io/apiserver/pkg/features/kube_features.go

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,6 @@ const (
105105
// Enables expression validation in Admission Control
106106
ValidatingAdmissionPolicy featuregate.Feature = "ValidatingAdmissionPolicy"
107107

108-
// owner: @cici37
109-
// kep: https://kep.k8s.io/2876
110-
// alpha: v1.23
111-
// beta: v1.25
112-
// stable: v1.29
113-
//
114-
// Enables expression validation for Custom Resource
115-
CustomResourceValidationExpressions featuregate.Feature = "CustomResourceValidationExpressions"
116-
117108
// alpha: v1.20
118109
// beta: v1.21
119110
// GA: v1.24
@@ -362,8 +353,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
362353

363354
ValidatingAdmissionPolicy: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.32
364355

365-
CustomResourceValidationExpressions: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.31
366-
367356
EfficientWatchResumption: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
368357

369358
KMSv1: {Default: false, PreRelease: featuregate.Deprecated},

test/integration/apiserver/crd_validation_expressions_test.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,15 @@ import (
3030
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
3131
"k8s.io/apimachinery/pkg/runtime/schema"
3232
"k8s.io/apimachinery/pkg/util/json"
33-
genericfeatures "k8s.io/apiserver/pkg/features"
3433
"k8s.io/apiserver/pkg/storage/names"
35-
utilfeature "k8s.io/apiserver/pkg/util/feature"
3634
"k8s.io/client-go/dynamic"
37-
featuregatetesting "k8s.io/component-base/featuregate/testing"
38-
3935
apiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
4036
"k8s.io/kubernetes/test/integration/framework"
4137
)
4238

4339
// TestCustomResourceValidators tests x-kubernetes-validations compile and validate as expected when the feature gate
4440
// is enabled.
4541
func TestCustomResourceValidators(t *testing.T) {
46-
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, genericfeatures.CustomResourceValidationExpressions, true)
47-
4842
server, err := apiservertesting.StartTestServer(t, apiservertesting.NewDefaultTestServerOptions(), nil, framework.SharedEtcd())
4943
if err != nil {
5044
t.Fatal(err)
@@ -426,8 +420,6 @@ func TestCustomResourceValidators(t *testing.T) {
426420
// TestCustomResourceValidatorsWithBlockingErrors tests x-kubernetes-validations is skipped when
427421
// blocking errors occurred.
428422
func TestCustomResourceValidatorsWithBlockingErrors(t *testing.T) {
429-
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, genericfeatures.CustomResourceValidationExpressions, true)
430-
431423
server, err := apiservertesting.StartTestServer(t, apiservertesting.NewDefaultTestServerOptions(), nil, framework.SharedEtcd())
432424
if err != nil {
433425
t.Fatal(err)

0 commit comments

Comments
 (0)