From 989d68d75772b88b0a9bf583a76fba445502653a Mon Sep 17 00:00:00 2001 From: yongruilin Date: Mon, 10 Mar 2025 22:39:03 +0000 Subject: [PATCH] chore: update DeclarativeValidation featuregate --- pkg/features/kube_features.go | 23 ++++++++++++------- pkg/features/versioned_kube_features.go | 2 +- .../test_data/versioned_feature_list.yaml | 2 +- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 13d6659afe4..992890108eb 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -150,20 +150,27 @@ const ( // Enable usage of Provision of PVCs from snapshots in other namespaces CrossNamespaceVolumeDataSource featuregate.Feature = "CrossNamespaceVolumeDataSource" - // owner: @thockin - // kep: http://kep.k8s.io/5073: + // owner: @jpbetz @aaron-prindle @yongruilin + // kep: http://kep.k8s.io/5073 // beta: v1.33 // - // Enable declarative validation of APIs, where declared. + // Enables running declarative validation of APIs, where declared. When enabled, APIs with + // declarative validation rules will validate objects using the generated + // declarative validation code and compare the results to the regular imperative validation. + // See DeclarativeValidationTakeover for more. DeclarativeValidation featuregate.Feature = "DeclarativeValidation" - // owner: @thockin - // kep: http://kep.k8s.io/5073: + // owner: @jpbetz @aaron-prindle @yongruilin + // kep: http://kep.k8s.io/5073 // beta: v1.33 // - // Enable declarative_validation_mismatch metric which outputs # of mismatch occurrences between - // hand-written and declarative validation rules. - DeclarativeValidationMismatchMetric featuregate.Feature = "DeclarativeValidationMismatchMetric" + // When enabled, declarative validation errors are returned directly to the caller, + // replacing hand-written validation errors for rules that have declarative implementations. + // When disabled, hand-written validation errors are always returned, effectively putting + // declarative validation in a "shadow mode" that monitors but does not affect API responses. + // Note: Although declarative validation aims for functional equivalence with hand-written validation, + // the exact number, format, and content of error messages may differ between the two approaches. + DeclarativeValidationTakeover featuregate.Feature = "DeclarativeValidationTakeover" // owner: @atiratree // kep: http://kep.k8s.io/3973 diff --git a/pkg/features/versioned_kube_features.go b/pkg/features/versioned_kube_features.go index 89e650c1c46..5ac242b0101 100644 --- a/pkg/features/versioned_kube_features.go +++ b/pkg/features/versioned_kube_features.go @@ -148,7 +148,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate {Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta}, }, - DeclarativeValidationMismatchMetric: { + DeclarativeValidationTakeover: { {Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta}, }, diff --git a/test/featuregates_linter/test_data/versioned_feature_list.yaml b/test/featuregates_linter/test_data/versioned_feature_list.yaml index a32fecff12a..1f0d0a8eecf 100644 --- a/test/featuregates_linter/test_data/versioned_feature_list.yaml +++ b/test/featuregates_linter/test_data/versioned_feature_list.yaml @@ -380,7 +380,7 @@ lockToDefault: false preRelease: Beta version: "1.33" -- name: DeclarativeValidationMismatchMetric +- name: DeclarativeValidationTakeover versionedSpecs: - default: false lockToDefault: false