From e8c20e1f3960063ac8ba4cd0744095447c11ea8a Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Wed, 22 Jan 2020 13:41:56 -0800 Subject: [PATCH] don't wait blindly --- test/e2e/apimachinery/garbage_collector.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/test/e2e/apimachinery/garbage_collector.go b/test/e2e/apimachinery/garbage_collector.go index 1f3a9eb856f..2aa5ef1afb7 100644 --- a/test/e2e/apimachinery/garbage_collector.go +++ b/test/e2e/apimachinery/garbage_collector.go @@ -574,8 +574,18 @@ var _ = SIGDescribe("Garbage collector", func() { if err := deployClient.Delete(deployment.ObjectMeta.Name, deleteOptions); err != nil { framework.Failf("failed to delete the deployment: %v", err) } - ginkgo.By("wait for 30 seconds to see if the garbage collector mistakenly deletes the rs") - time.Sleep(30 * time.Second) + ginkgo.By("wait for deployment deletion to see if the garbage collector mistakenly deletes the rs") + err = wait.PollImmediate(500*time.Millisecond, 1*time.Minute, func() (bool, error) { + dList, err := deployClient.List(metav1.ListOptions{}) + if err != nil { + return false, fmt.Errorf("failed to list deployments: %v", err) + } + return len(dList.Items) == 0, nil + }) + if err != nil { + framework.Failf("Failed to wait for the Deployment to be deleted: %v", err) + } + // Once the deployment object is gone, we'll know the GC has finished performing any relevant actions. objects := map[string]int{"Deployments": 0, "ReplicaSets": 1, "Pods": 2} ok, err := verifyRemainingObjects(f, objects) if err != nil {