From b19188364e82e32e533fb97165167de5e882a8ae Mon Sep 17 00:00:00 2001 From: richardxz Date: Wed, 20 Jun 2018 15:26:38 +0800 Subject: [PATCH] once deploy is deleted, delete related replicaset --- pkg/models/kubectl.go | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/pkg/models/kubectl.go b/pkg/models/kubectl.go index 1f725c00b..a3bdb5c22 100644 --- a/pkg/models/kubectl.go +++ b/pkg/models/kubectl.go @@ -129,9 +129,26 @@ func DelKubectlPod(user string) error { if err != nil { return err } - replicas := int32(0) - deploy.Spec.Replicas = &replicas - k8sClient.AppsV1beta2().Deployments(namespace).Update(deploy) + err = k8sClient.AppsV1beta2().Deployments(namespace).Delete(user, &meta_v1.DeleteOptions{}) - return err + if err != nil { + return err + } + + label := labels.SelectorFromSet(labels.Set(deploy.Spec.Selector.MatchLabels)).String() + rsList, err := k8sClient.AppsV1beta2().ReplicaSets(namespace).List(meta_v1.ListOptions{LabelSelector: label}) + if err != nil { + glog.Error(err) + return err + } + + for _, rs := range rsList.Items { + err = k8sClient.AppsV1beta2().ReplicaSets(namespace).Delete(rs.Name, &meta_v1.DeleteOptions{}) + if err != nil { + glog.Error(err) + return err + } + } + + return nil }