From 748c88c276a9eb5516fe0629d3ed5d6f7bab462d Mon Sep 17 00:00:00 2001 From: Jingfang Liu Date: Thu, 18 Apr 2019 10:39:22 -0700 Subject: [PATCH] update PruneString for resources --- k8sdeps/transformer/prune/prune.go | 7 ++++--- k8sdeps/transformer/prune/prune_test.go | 3 +-- pkg/resid/resid.go | 10 ---------- pkg/resource/resource.go | 6 +++++- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/k8sdeps/transformer/prune/prune.go b/k8sdeps/transformer/prune/prune.go index 7eb7a0931..9555a5cee 100644 --- a/k8sdeps/transformer/prune/prune.go +++ b/k8sdeps/transformer/prune/prune.go @@ -59,11 +59,12 @@ func NewPruneTransformer(p *types.Prune, namespace string, append bool) transfor // which is proposed in https://github.com/kubernetes/enhancements/pull/810 func (o *pruneTransformer) Transform(m resmap.ResMap) error { keys := []string{} - for id, r := range m { - s := id.PruneString() + for _, r := range m { + s := r.PruneString() keys = append(keys, s) for _, refid := range r.GetRefBy() { - keys = append(keys, s+"---"+refid.PruneString()) + ref := m[refid] + keys = append(keys, s+"---"+ref.PruneString()) } } h, err := hash.SortArrayAndComputeHash(keys) diff --git a/k8sdeps/transformer/prune/prune_test.go b/k8sdeps/transformer/prune/prune_test.go index 3f859a7cc..427191bcb 100644 --- a/k8sdeps/transformer/prune/prune_test.go +++ b/k8sdeps/transformer/prune/prune_test.go @@ -54,8 +54,7 @@ func makeResMap() resmap.ResMap { }), resid.NewResId(deploy, "deploy1"): rf.FromMap( map[string]interface{}{ - "group": "apps", - "apiVersion": "v1", + "apiVersion": "apps/v1", "kind": "Deployment", "metadata": map[string]interface{}{ "name": "deploy1", diff --git a/pkg/resid/resid.go b/pkg/resid/resid.go index 6c5945e3b..dbf9a3e92 100644 --- a/pkg/resid/resid.go +++ b/pkg/resid/resid.go @@ -205,13 +205,3 @@ func (n ResId) prefixList() []string { func (n ResId) suffixList() []string { return strings.Split(n.suffix, ":") } - -// PruneString returns a string which can be used -// as a key in a Prune ConfigMap -func (n ResId) PruneString() string { - name := n.prefix + n.name + n.suffix - return n.gvKind.Group + - "_" + n.gvKind.Kind + - "_" + n.namespace + - "_" + name -} diff --git a/pkg/resource/resource.go b/pkg/resource/resource.go index fca4ec69c..4fadd57e6 100644 --- a/pkg/resource/resource.go +++ b/pkg/resource/resource.go @@ -89,7 +89,11 @@ func (r *Resource) Merge(other *Resource) { } func (r *Resource) PruneString() string { - return r.Id().PruneString() + namespace, _ := r.GetFieldValue("metadata.namespace") + return r.GetGvk().Group + + "_" + r.GetGvk().Kind + + "_" + namespace + + "_" + r.GetName() } // Replace performs replace with other resource.