From b1d685a05fe52a5455db3d69994cda35839ca64c Mon Sep 17 00:00:00 2001 From: Alexander Zielenski Date: Fri, 14 Jul 2023 12:39:03 -0700 Subject: [PATCH] apiextensions: validate status updates with status schema --- .../pkg/registry/customresource/validator.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go index a158aa3b6dc..c39ad15270a 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go @@ -126,7 +126,9 @@ func (a customResourceValidator) ValidateStatusUpdate(ctx context.Context, obj, var allErrs field.ErrorList allErrs = append(allErrs, validation.ValidateObjectMetaAccessorUpdate(objAccessor, oldAccessor, field.NewPath("metadata"))...) - allErrs = append(allErrs, apiextensionsvalidation.ValidateCustomResourceUpdate(nil, u.UnstructuredContent(), oldU, a.schemaValidator)...) + if status, hasStatus := u.UnstructuredContent()["status"]; hasStatus { + allErrs = append(allErrs, apiextensionsvalidation.ValidateCustomResourceUpdate(nil, status, oldU.UnstructuredContent()["status"], a.statusSchemaValidator)...) + } allErrs = append(allErrs, a.ValidateScaleStatus(ctx, u, scale)...) return allErrs