From bd534441cef63a5ee6d1e5166bb73662b507d296 Mon Sep 17 00:00:00 2001 From: Natasha Sarkar Date: Fri, 25 Sep 2020 14:59:49 -0700 Subject: [PATCH 1/4] fixed issue 2896 --- api/builtins/PatchTransformer.go | 5 ++++- api/krusty/issue2896_test.go | 2 +- plugin/builtin/patchtransformer/PatchTransformer.go | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/api/builtins/PatchTransformer.go b/api/builtins/PatchTransformer.go index 67e49fb05..0cb35fd86 100644 --- a/api/builtins/PatchTransformer.go +++ b/api/builtins/PatchTransformer.go @@ -139,9 +139,12 @@ func (p *PatchTransformerPlugin) applySMPatch(resource, patch *resource.Resource if err != nil { return err } - return filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ + n := resource.GetName() + err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) + resource.SetName(n) + return err } // transformJson6902 applies the provided json6902 patch diff --git a/api/krusty/issue2896_test.go b/api/krusty/issue2896_test.go index 524e8a1a3..67cf2094a 100644 --- a/api/krusty/issue2896_test.go +++ b/api/krusty/issue2896_test.go @@ -88,7 +88,7 @@ patches: apiVersion: apps/v1 kind: Deployment metadata: - name: example + name: example-test-api spec: template: spec: diff --git a/plugin/builtin/patchtransformer/PatchTransformer.go b/plugin/builtin/patchtransformer/PatchTransformer.go index bde29cf61..43d1cbb58 100644 --- a/plugin/builtin/patchtransformer/PatchTransformer.go +++ b/plugin/builtin/patchtransformer/PatchTransformer.go @@ -143,9 +143,12 @@ func (p *plugin) applySMPatch(resource, patch *resource.Resource) error { if err != nil { return err } - return filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ + n := resource.GetName() + err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) + resource.SetName(n) + return err } // transformJson6902 applies the provided json6902 patch From e17bab7e55cc710dcfddd006fbf82415ad880674 Mon Sep 17 00:00:00 2001 From: Natasha Sarkar Date: Fri, 25 Sep 2020 15:51:28 -0700 Subject: [PATCH 2/4] updated to include namespace --- api/builtins/PatchTransformer.go | 3 ++- plugin/builtin/patchtransformer/PatchTransformer.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/api/builtins/PatchTransformer.go b/api/builtins/PatchTransformer.go index 0cb35fd86..fe0eb050c 100644 --- a/api/builtins/PatchTransformer.go +++ b/api/builtins/PatchTransformer.go @@ -139,11 +139,12 @@ func (p *PatchTransformerPlugin) applySMPatch(resource, patch *resource.Resource if err != nil { return err } - n := resource.GetName() + n, ns := resource.GetName(), resource.GetNamespace() err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) resource.SetName(n) + resource.SetNamespace(ns) return err } diff --git a/plugin/builtin/patchtransformer/PatchTransformer.go b/plugin/builtin/patchtransformer/PatchTransformer.go index 43d1cbb58..9b2a00469 100644 --- a/plugin/builtin/patchtransformer/PatchTransformer.go +++ b/plugin/builtin/patchtransformer/PatchTransformer.go @@ -143,11 +143,12 @@ func (p *plugin) applySMPatch(resource, patch *resource.Resource) error { if err != nil { return err } - n := resource.GetName() + n, ns := resource.GetName(), resource.GetNamespace() err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) resource.SetName(n) + resource.SetNamespace(ns) return err } From f5feffbd231217a413e2c9dae9aafd145d33b110 Mon Sep 17 00:00:00 2001 From: Natasha Sarkar Date: Mon, 28 Sep 2020 13:28:06 -0700 Subject: [PATCH 3/4] fix for the patchdelete test --- api/builtins/PatchTransformer.go | 6 ++++-- plugin/builtin/patchtransformer/PatchTransformer.go | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/api/builtins/PatchTransformer.go b/api/builtins/PatchTransformer.go index fe0eb050c..865d2b73f 100644 --- a/api/builtins/PatchTransformer.go +++ b/api/builtins/PatchTransformer.go @@ -143,8 +143,10 @@ func (p *PatchTransformerPlugin) applySMPatch(resource, patch *resource.Resource err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) - resource.SetName(n) - resource.SetNamespace(ns) + if resource.GetName() != "" { + resource.SetName(n) + resource.SetNamespace(ns) + } return err } diff --git a/plugin/builtin/patchtransformer/PatchTransformer.go b/plugin/builtin/patchtransformer/PatchTransformer.go index 9b2a00469..9d7b1e1a5 100644 --- a/plugin/builtin/patchtransformer/PatchTransformer.go +++ b/plugin/builtin/patchtransformer/PatchTransformer.go @@ -147,8 +147,10 @@ func (p *plugin) applySMPatch(resource, patch *resource.Resource) error { err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) - resource.SetName(n) - resource.SetNamespace(ns) + if resource.GetName() != "" { + resource.SetName(n) + resource.SetNamespace(ns) + } return err } From c93274c224a9b078f294688f19bbb539ac97b799 Mon Sep 17 00:00:00 2001 From: Natasha Sarkar Date: Tue, 29 Sep 2020 17:33:12 -0700 Subject: [PATCH 4/4] changed way to test for empty resource --- api/builtins/PatchTransformer.go | 2 +- plugin/builtin/patchtransformer/PatchTransformer.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/builtins/PatchTransformer.go b/api/builtins/PatchTransformer.go index 865d2b73f..da5adec48 100644 --- a/api/builtins/PatchTransformer.go +++ b/api/builtins/PatchTransformer.go @@ -143,7 +143,7 @@ func (p *PatchTransformerPlugin) applySMPatch(resource, patch *resource.Resource err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) - if resource.GetName() != "" { + if len(resource.Map()) != 0 { resource.SetName(n) resource.SetNamespace(ns) } diff --git a/plugin/builtin/patchtransformer/PatchTransformer.go b/plugin/builtin/patchtransformer/PatchTransformer.go index 9d7b1e1a5..d856453d2 100644 --- a/plugin/builtin/patchtransformer/PatchTransformer.go +++ b/plugin/builtin/patchtransformer/PatchTransformer.go @@ -147,7 +147,7 @@ func (p *plugin) applySMPatch(resource, patch *resource.Resource) error { err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) - if resource.GetName() != "" { + if len(resource.Map()) != 0 { resource.SetName(n) resource.SetNamespace(ns) }