From 4ed5653a0bc8ca53ca6a917e634457bd7a2d8dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arda=20G=C3=BC=C3=A7l=C3=BC?= Date: Wed, 22 Jun 2022 09:35:49 +0300 Subject: [PATCH] Move getPatchType logic back to main function --- .../k8s.io/kubectl/pkg/cmd/apply/patcher.go | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/apply/patcher.go b/staging/src/k8s.io/kubectl/pkg/cmd/apply/patcher.go index 05616ff81d4..f3ba874b090 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/apply/patcher.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/apply/patcher.go @@ -115,9 +115,13 @@ func (p *Patcher) patchSimple(obj runtime.Object, modified []byte, namespace, na var patch []byte - patchType, err := p.getPatchType(p.Mapping.GroupVersionKind) + patchType := types.StrategicMergePatchType + _, err = scheme.Scheme.New(p.Mapping.GroupVersionKind) if err != nil { - return nil, nil, fmt.Sprintf("getting patch type for %v:", p.Mapping.GroupVersionKind), err + if !runtime.IsNotRegisteredError(err) { + return nil, nil, fmt.Sprintf("getting instance of versioned object for %v:", p.Mapping.GroupVersionKind), err + } + patchType = types.MergePatchType } switch patchType { @@ -160,19 +164,6 @@ func (p *Patcher) patchSimple(obj runtime.Object, modified []byte, namespace, na return patch, patchedObj, "", err } -// getPatchType returns correct PatchType for the given GVK. -func (p *Patcher) getPatchType(gvk schema.GroupVersionKind) (types.PatchType, error) { - _, err := scheme.Scheme.New(gvk) - if err == nil { - return types.StrategicMergePatchType, nil - } - if runtime.IsNotRegisteredError(err) { - return types.MergePatchType, nil - } - - return types.MergePatchType, err -} - // buildMergePatch builds patch according to the JSONMergePatch which is used for // custom resource definitions. func (p *Patcher) buildMergePatch(original, modified, current []byte) ([]byte, error) {