From 52f8f1f2b4e52e1efdbdfc22f132ed52f8ea212c Mon Sep 17 00:00:00 2001 From: Piyush Garg Date: Wed, 20 Dec 2017 00:27:00 +0530 Subject: [PATCH] Added Case for Config Map in kompose down. To implement this, added label in configmap object at the time of init Fixed ConfigMap test because we are adding one more field labels in metadata --- pkg/transformer/kubernetes/kubernetes.go | 21 ++++++++++++++++++- .../configmap/output-k8s-template.json | 10 +++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index aed2b302..e10627ae 100644 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -177,7 +177,8 @@ func (k *Kubernetes) InitConfigMap(name string, service kobject.ServiceConfig, o APIVersion: "v1", }, ObjectMeta: api.ObjectMeta{ - Name: name + "-" + envName, + Name: name + "-" + envName, + Labels: transformer.ConfigLabels(name + "-" + envName), }, Data: envs, } @@ -1066,6 +1067,24 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C log.Infof("Successfully deleted Pod: %s", t.Name) } } + + case *api.ConfigMap: + // delete ConfigMap + configMap, err := client.ConfigMaps(namespace).List(options) + if err != nil { + errorList = append(errorList, err) + break + } + for _, l := range configMap.Items { + if reflect.DeepEqual(l.Labels, komposeLabel) { + err = client.ConfigMaps(namespace).Delete(t.Name) + if err != nil { + errorList = append(errorList, err) + break + } + log.Infof("Successfully deleted ConfigMap: %s", t.Name) + } + } } } diff --git a/script/test/fixtures/configmap/output-k8s-template.json b/script/test/fixtures/configmap/output-k8s-template.json index b84fc145..874b30d7 100644 --- a/script/test/fixtures/configmap/output-k8s-template.json +++ b/script/test/fixtures/configmap/output-k8s-template.json @@ -113,7 +113,10 @@ "apiVersion": "v1", "metadata": { "name": "redis-foo-env", - "creationTimestamp": null + "creationTimestamp": null, + "labels": { + "io.kompose.service": "redis-foo-env" + } }, "data": { "ALLOW_EMPTY_PASSWORD": "yes" @@ -124,7 +127,10 @@ "apiVersion": "v1", "metadata": { "name": "redis-bar-env", - "creationTimestamp": null + "creationTimestamp": null, + "labels": { + "io.kompose.service": "redis-bar-env" + } }, "data": { "BAR": "FOO",