From 9b16b435fcd2ad2d5cc75e0da6a04571ed1a93d6 Mon Sep 17 00:00:00 2001 From: ymqytw Date: Tue, 22 Nov 2016 21:02:15 -0800 Subject: [PATCH] Revert "Update apply and edit" This reverts commit 48d3ca23cfe4f79c77005ea0079eedaa1c167a0c. --- pkg/kubectl/cmd/apply.go | 6 ++---- pkg/kubectl/cmd/edit.go | 16 ++++++---------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/pkg/kubectl/cmd/apply.go b/pkg/kubectl/cmd/apply.go index 620e68c5147..584ccaf9e09 100644 --- a/pkg/kubectl/cmd/apply.go +++ b/pkg/kubectl/cmd/apply.go @@ -532,15 +532,13 @@ func (p *patcher) patchSimple(obj runtime.Object, modified []byte, source, names // Compute a three way strategic merge patch to send to server. patch, err := strategicpatch.CreateThreeWayMergePatch(original, modified, current, versionedObject, p.overwrite, strategicpatch.SMPatchVersion_1_5) - // If creating a patch fails, retrying with SMPatchVersion_1_0 is not helpful. So we return the error. if err != nil { format := "creating patch with:\noriginal:\n%s\nmodified:\n%s\ncurrent:\n%s\nfor:" return nil, cmdutil.AddSourceToErr(fmt.Sprintf(format, original, modified, current), source, err) } _, err = p.helper.Patch(namespace, name, api.StrategicMergePatchType, patch) - if errors.IsInternalError(err) { - // Retry SMPatchVersion_1_0 when applying the SMPatchVersion_1_5 patch returns an Internal Error (500). - // Because the failure may be due to the server not supporting the SMPatchVersion_1_5 patch. + if err != nil { + // Retry SMPatchVersion_1_0 when applying the SMPatchVersion_1_5 patch patch, err = strategicpatch.CreateThreeWayMergePatch(original, modified, current, versionedObject, p.overwrite, strategicpatch.SMPatchVersion_1_0) if err != nil { format := "creating patch with:\noriginal:\n%s\nmodified:\n%s\ncurrent:\n%s\nfor:" diff --git a/pkg/kubectl/cmd/edit.go b/pkg/kubectl/cmd/edit.go index 36bc46e7956..14814110018 100644 --- a/pkg/kubectl/cmd/edit.go +++ b/pkg/kubectl/cmd/edit.go @@ -487,7 +487,6 @@ func visitToPatch(originalObj runtime.Object, updates *resource.Info, preconditions := []strategicpatch.PreconditionFunc{strategicpatch.RequireKeyUnchanged("apiVersion"), strategicpatch.RequireKeyUnchanged("kind"), strategicpatch.RequireMetadataKeyUnchanged("name")} patch, err := strategicpatch.CreateTwoWayMergePatch(originalJS, editedJS, currOriginalObj, strategicpatch.SMPatchVersion_1_5, preconditions...) - // If creating a patch fails, retrying with SMPatchVersion_1_0 is not helpful. So we return the error. if err != nil { glog.V(4).Infof("Unable to calculate diff, no merge is possible: %v", err) if strategicpatch.IsPreconditionFailed(err) { @@ -499,16 +498,13 @@ func visitToPatch(originalObj runtime.Object, updates *resource.Info, results.version = defaultVersion patched, err := resource.NewHelper(info.Client, info.Mapping).Patch(info.Namespace, info.Name, api.StrategicMergePatchType, patch) if err != nil { - // Retry SMPatchVersion_1_0 when applying the SMPatchVersion_1_5 patch returns an Internal Error (500). - // Because the failure may be due to the server not supporting the SMPatchVersion_1_5 patch. - if errors.IsInternalError(err) { - patch, err = strategicpatch.CreateTwoWayMergePatch(originalJS, editedJS, currOriginalObj, strategicpatch.SMPatchVersion_1_0) - if err != nil { - glog.V(4).Infof("Unable to calculate diff, no merge is possible: %v", err) - return err - } - patched, err = resource.NewHelper(info.Client, info.Mapping).Patch(info.Namespace, info.Name, api.StrategicMergePatchType, patch) + // Retry SMPatchVersion_1_0 when applying the SMPatchVersion_1_5 patch + patch, err = strategicpatch.CreateTwoWayMergePatch(originalJS, editedJS, currOriginalObj, strategicpatch.SMPatchVersion_1_0) + if err != nil { + glog.V(4).Infof("Unable to calculate diff, no merge is possible: %v", err) + return err } + patched, err = resource.NewHelper(info.Client, info.Mapping).Patch(info.Namespace, info.Name, api.StrategicMergePatchType, patch) if err != nil { fmt.Fprintln(out, results.addError(err, info)) return nil