From 4f24ea65f23c85d2a60a053877cabe01f7556364 Mon Sep 17 00:00:00 2001 From: mqliang Date: Thu, 11 Feb 2016 15:58:01 +0800 Subject: [PATCH] delete replicaset when delete namespace --- pkg/controller/namespace/namespace_controller_test.go | 3 ++- pkg/controller/namespace/namespace_controller_utils.go | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/controller/namespace/namespace_controller_test.go b/pkg/controller/namespace/namespace_controller_test.go index c1d7bf57f6a..21e5e20fd72 100644 --- a/pkg/controller/namespace/namespace_controller_test.go +++ b/pkg/controller/namespace/namespace_controller_test.go @@ -120,6 +120,7 @@ func testSyncNamespaceThatIsTerminating(t *testing.T, versions *unversioned.APIV pendingActionSet.Insert( strings.Join([]string{"delete-collection", "daemonsets", ""}, "-"), strings.Join([]string{"delete-collection", "deployments", ""}, "-"), + strings.Join([]string{"delete-collection", "replicasets", ""}, "-"), strings.Join([]string{"delete-collection", "jobs", ""}, "-"), strings.Join([]string{"delete-collection", "horizontalpodautoscalers", ""}, "-"), strings.Join([]string{"delete-collection", "ingresses", ""}, "-"), @@ -148,7 +149,7 @@ func testSyncNamespaceThatIsTerminating(t *testing.T, versions *unversioned.APIV mockClient := fake.NewSimpleClientset(testInput.testNamespace) if containsVersion(versions, "extensions/v1beta1") { resources := []unversioned.APIResource{} - for _, resource := range []string{"daemonsets", "deployments", "jobs", "horizontalpodautoscalers", "ingresses"} { + for _, resource := range []string{"daemonsets", "deployments", "replicasets", "jobs", "horizontalpodautoscalers", "ingresses"} { resources = append(resources, unversioned.APIResource{Name: resource}) } mockClient.Resources = map[string]*unversioned.APIResourceList{ diff --git a/pkg/controller/namespace/namespace_controller_utils.go b/pkg/controller/namespace/namespace_controller_utils.go index 75350f94f81..63bbd677610 100644 --- a/pkg/controller/namespace/namespace_controller_utils.go +++ b/pkg/controller/namespace/namespace_controller_utils.go @@ -184,6 +184,12 @@ func deleteAllContent(kubeClient clientset.Interface, versions *unversioned.APIV return estimate, err } } + if containsResource(resources, "replicasets") { + err = deleteReplicaSets(kubeClient.Extensions(), namespace) + if err != nil { + return estimate, err + } + } } return estimate, nil } @@ -343,6 +349,10 @@ func deleteDeployments(expClient extensions_unversioned.ExtensionsInterface, ns return expClient.Deployments(ns).DeleteCollection(nil, api.ListOptions{}) } +func deleteReplicaSets(expClient extensions_unversioned.ExtensionsInterface, ns string) error { + return expClient.ReplicaSets(ns).DeleteCollection(nil, api.ListOptions{}) +} + func deleteIngress(expClient extensions_unversioned.ExtensionsInterface, ns string) error { return expClient.Ingresses(ns).DeleteCollection(nil, api.ListOptions{}) }