From 4979bad9cd44b5ced76b2ef7a4c71d20771113bc Mon Sep 17 00:00:00 2001 From: Jamo Luhrsen Date: Tue, 30 Apr 2024 21:54:57 +0000 Subject: [PATCH] OCPBUGS-31868: allow for some errors checking namespace delete Signed-off-by: Jamo Luhrsen --- .../monitortest.go | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/pkg/monitortests/network/disruptionserviceloadbalancer/monitortest.go b/pkg/monitortests/network/disruptionserviceloadbalancer/monitortest.go index 41d0de3d4584..b0c930a476b4 100644 --- a/pkg/monitortests/network/disruptionserviceloadbalancer/monitortest.go +++ b/pkg/monitortests/network/disruptionserviceloadbalancer/monitortest.go @@ -275,17 +275,21 @@ func (w *availability) WriteContentToStorage(ctx context.Context, storageDir, ti } func (w *availability) namespaceDeleted(ctx context.Context) (bool, error) { - _, err := w.kubeClient.CoreV1().Namespaces().Get(ctx, w.namespaceName, metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - return true, nil - } + var lastError error + for retry := 0; retry < 6; retry++ { + _, err := w.kubeClient.CoreV1().Namespaces().Get(ctx, w.namespaceName, metav1.GetOptions{}) + if apierrors.IsNotFound(err) { + return true, nil + } - if err != nil { + if err == nil { + return false, nil + } logrus.Errorf("Error checking for deleted namespace: %s, %s", w.namespaceName, err.Error()) - return false, err + lastError = err + time.Sleep(5 * time.Second) } - - return false, nil + return false, lastError } func (w *availability) Cleanup(ctx context.Context) error { @@ -299,9 +303,9 @@ func (w *availability) Cleanup(ctx context.Context) error { startTime := time.Now() log.Info("waiting for namespace deletion to complete") - err := wait.PollUntilContextTimeout(ctx, 15*time.Second, 20*time.Minute, true, w.namespaceDeleted) + err := wait.PollUntilContextTimeout(ctx, 30*time.Second, 20*time.Minute, true, w.namespaceDeleted) if err != nil { - log.WithError(err).Error("error waiting for namespace to delete") + log.Errorf("Encountered error while waiting for deleted namespace: %s, %s", w.namespaceName, err) return err } log.Infof("namespace deleted in %.2f seconds", time.Now().Sub(startTime).Seconds())