From bfc3655badfd608e097b90c0c1bcc6f4536dc64e Mon Sep 17 00:00:00 2001 From: Jingfang Liu Date: Tue, 19 Mar 2019 14:53:29 -0700 Subject: [PATCH] skip adding namespace when the object is empty --- pkg/transformers/namespace.go | 16 ++++++++++------ pkg/transformers/namespace_test.go | 6 ++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/pkg/transformers/namespace.go b/pkg/transformers/namespace.go index 5f0c06482..3087ad8e7 100644 --- a/pkg/transformers/namespace.go +++ b/pkg/transformers/namespace.go @@ -70,12 +70,16 @@ func (o *namespaceTransformer) Transform(m resmap.ResMap) error { if !id.Gvk().IsSelected(&path.Gvk) { continue } - - err := mutateField(objMap, path.PathSlice(), path.CreateIfNotPresent, func(_ interface{}) (interface{}, error) { - return o.namespace, nil - }) - if err != nil { - return err + // make sure the object is non empty + if len(objMap) > 0 { + err := mutateField( + objMap, path.PathSlice(), path.CreateIfNotPresent, + func(_ interface{}) (interface{}, error) { + return o.namespace, nil + }) + if err != nil { + return err + } } newid := id.CopyWithNewNamespace(o.namespace) m[newid] = mf[id] diff --git a/pkg/transformers/namespace_test.go b/pkg/transformers/namespace_test.go index d3ced2825..34beed5d0 100644 --- a/pkg/transformers/namespace_test.go +++ b/pkg/transformers/namespace_test.go @@ -47,6 +47,9 @@ func TestNamespaceRun(t *testing.T) { "namespace": "foo", }, }), + resid.NewResId(cmap, "cm3"): rf.FromMap( + map[string]interface{}{}, + ), resid.NewResId(ns, "ns1"): rf.FromMap( map[string]interface{}{ "apiVersion": "v1", @@ -134,6 +137,9 @@ func TestNamespaceRun(t *testing.T) { "namespace": "test", }, }), + resid.NewResIdWithPrefixNamespace(cmap, "cm3", "", "test"): rf.FromMap( + map[string]interface{}{}, + ), resid.NewResIdWithPrefixNamespace(sa, "default", "", "test"): rf.FromMap( map[string]interface{}{ "apiVersion": "v1",