From 740a38b2e36e9d6f8e1aa6175f3629f45cfd5eeb Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 8 Jun 2017 17:29:35 -0400 Subject: [PATCH] Run namespace deletion in background --- .../namespace/deletion/namespaced_resources_deleter.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/controller/namespace/deletion/namespaced_resources_deleter.go b/pkg/controller/namespace/deletion/namespaced_resources_deleter.go index e061a8ac51b..2593428bb45 100644 --- a/pkg/controller/namespace/deletion/namespaced_resources_deleter.go +++ b/pkg/controller/namespace/deletion/namespaced_resources_deleter.go @@ -340,8 +340,9 @@ func (d *namespacedResourcesDeleter) deleteCollection( // namespace controller does not want the garbage collector to insert the orphan finalizer since it calls // resource deletions generically. it will ensure all resources in the namespace are purged prior to releasing // namespace itself. - orphanDependents := false - err := dynamicClient.Resource(&apiResource, namespace).DeleteCollection(&metav1.DeleteOptions{OrphanDependents: &orphanDependents}, metav1.ListOptions{}) + background := metav1.DeletePropagationBackground + opts := &metav1.DeleteOptions{PropagationPolicy: &background} + err := dynamicClient.Resource(&apiResource, namespace).DeleteCollection(opts, metav1.ListOptions{}) if err == nil { return true, nil @@ -417,7 +418,9 @@ func (d *namespacedResourcesDeleter) deleteEachItem( } apiResource := metav1.APIResource{Name: gvr.Resource, Namespaced: true} for _, item := range unstructuredList.Items { - if err = dynamicClient.Resource(&apiResource, namespace).Delete(item.GetName(), nil); err != nil && !errors.IsNotFound(err) && !errors.IsMethodNotSupported(err) { + background := metav1.DeletePropagationBackground + opts := &metav1.DeleteOptions{PropagationPolicy: &background} + if err = dynamicClient.Resource(&apiResource, namespace).Delete(item.GetName(), opts); err != nil && !errors.IsNotFound(err) && !errors.IsMethodNotSupported(err) { return err } }