From 82cc3b5d59c378239b9032bd94c55fae19b3acee Mon Sep 17 00:00:00 2001 From: Di Xu Date: Fri, 13 Apr 2018 10:46:38 +0800 Subject: [PATCH] kubectl stops rendering List as suffix kind name for CRD resources --- .../cmd/util/openapi/validation/validation.go | 3 +-- .../cmd/util/openapi/validation/validation_test.go | 12 ++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pkg/kubectl/cmd/util/openapi/validation/validation.go b/pkg/kubectl/cmd/util/openapi/validation/validation.go index 80239e0229f..0ac30d5f0f1 100644 --- a/pkg/kubectl/cmd/util/openapi/validation/validation.go +++ b/pkg/kubectl/cmd/util/openapi/validation/validation.go @@ -18,7 +18,6 @@ package validation import ( "errors" - "strings" "k8s.io/apimachinery/pkg/runtime/schema" utilerrors "k8s.io/apimachinery/pkg/util/errors" @@ -54,7 +53,7 @@ func (v *SchemaValidation) ValidateBytes(data []byte) error { return utilerrors.NewAggregate(errs) } - if strings.HasSuffix(gvk.Kind, "List") { + if (gvk == schema.GroupVersionKind{Version: "v1", Kind: "List"}) { return utilerrors.NewAggregate(v.validateList(obj)) } diff --git a/pkg/kubectl/cmd/util/openapi/validation/validation_test.go b/pkg/kubectl/cmd/util/openapi/validation/validation_test.go index c038682a3a2..67aad17174b 100644 --- a/pkg/kubectl/cmd/util/openapi/validation/validation_test.go +++ b/pkg/kubectl/cmd/util/openapi/validation/validation_test.go @@ -394,4 +394,16 @@ items: `)) Expect(err.Error()).To(Equal("[kind not set, apiVersion not set]")) }) + + It("is fine with crd resource with List as a suffix kind name, which may not be a list of resources", func() { + err := validator.ValidateBytes([]byte(` +apiVersion: fake.com/v1 +kind: FakeList +metadata: + name: fake +spec: + foo: bar +`)) + Expect(err).To(BeNil()) + }) })