From d0bf411cc7eea164261faaad3c16f1f613fb773a Mon Sep 17 00:00:00 2001 From: Jefftree Date: Mon, 23 May 2022 14:37:44 -0700 Subject: [PATCH] Prune defaults for CRD serving --- .../pkg/controller/openapi/controller.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go index a99d95c6ef2..877720539fa 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go @@ -201,8 +201,10 @@ func buildVersionSpecs(crd *apiextensionsv1.CustomResourceDefinition, oldSpecs m if !v.Served { continue } - // Defaults are not pruned here, but before being served. spec, err := builder.BuildOpenAPIV2(crd, v.Name, builder.Options{V2: true}) + // Defaults must be pruned here for CRDs to cleanly merge with the static + // spec that already has defaults pruned + spec.Definitions = handler.PruneDefaults(spec.Definitions) if err != nil { return nil, false, err }