From c148332772adb5d7e6b0e9eb653c1445e44c7e9e Mon Sep 17 00:00:00 2001 From: Prashanth Balasubramanian Date: Mon, 28 Sep 2015 16:41:36 -0700 Subject: [PATCH] Deleting namespace cleans-up Ingress --- .../namespace/namespace_controller.go | 18 ++++++++++++++++++ .../namespace/namespace_controller_test.go | 1 + 2 files changed, 19 insertions(+) diff --git a/pkg/controller/namespace/namespace_controller.go b/pkg/controller/namespace/namespace_controller.go index c4b85784573..1cec063f77d 100644 --- a/pkg/controller/namespace/namespace_controller.go +++ b/pkg/controller/namespace/namespace_controller.go @@ -209,6 +209,10 @@ func deleteAllContent(kubeClient client.Interface, experimentalMode bool, namesp if err != nil { return estimate, err } + err = deleteIngress(kubeClient.Experimental(), namespace) + if err != nil { + return estimate, err + } } return estimate, nil } @@ -496,3 +500,17 @@ func deleteDeployments(expClient client.ExperimentalInterface, ns string) error } return nil } + +func deleteIngress(expClient client.ExperimentalInterface, ns string) error { + items, err := expClient.Ingress(ns).List(labels.Everything(), fields.Everything()) + if err != nil { + return err + } + for i := range items.Items { + err := expClient.Ingress(ns).Delete(items.Items[i].Name, nil) + if err != nil && !errors.IsNotFound(err) { + return err + } + } + return nil +} diff --git a/pkg/controller/namespace/namespace_controller_test.go b/pkg/controller/namespace/namespace_controller_test.go index d8d7fdd85a7..d76e4cccbeb 100644 --- a/pkg/controller/namespace/namespace_controller_test.go +++ b/pkg/controller/namespace/namespace_controller_test.go @@ -114,6 +114,7 @@ func testSyncNamespaceThatIsTerminating(t *testing.T, experimentalMode bool) { strings.Join([]string{"list", "daemonsets", ""}, "-"), strings.Join([]string{"list", "deployments", ""}, "-"), strings.Join([]string{"list", "jobs", ""}, "-"), + strings.Join([]string{"list", "ingress", ""}, "-"), ) }