Sitelet https://github.com/kubernetes/kops/commit/7604df6d7ba3eb093d060af5ca2f0f65b4d373b8
Skip to content

Commit 7604df6

Browse files
committed
[aiconformance]: wait for namespace deletion to complete
This avoids leftover namespaces consuming resources in subsequent tests.
1 parent 79666da commit 7604df6

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

  • tests/e2e/scenarios/ai-conformance/validators

‎tests/e2e/scenarios/ai-conformance/validators/kube.go‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ import (
2727
"strings"
2828
"time"
2929

30+
apierrors "k8s.io/apimachinery/pkg/api/errors"
3031
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
3132
"k8s.io/apimachinery/pkg/runtime/schema"
33+
"k8s.io/apimachinery/pkg/util/wait"
3234
"k8s.io/client-go/dynamic"
3335

3436
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -199,6 +201,19 @@ func (h *ValidatorHarness) TestNamespace() string {
199201
if err != nil {
200202
h.Logf("failed to delete test namespace: %v", err)
201203
}
204+
205+
// Wait for namespace deletion to complete so that we don't have leftover namespaces consuming resources.
206+
if err := wait.PollUntilContextTimeout(ctx, 2*time.Second, 2*time.Minute, false, func(ctx context.Context) (done bool, err error) {
207+
if _, err := h.DynamicClient().Resource(namespaceGVR).Get(ctx, ns, metav1.GetOptions{}); err != nil {
208+
if apierrors.IsNotFound(err) {
209+
return true, nil
210+
}
211+
return false, fmt.Errorf("error checking for namespace deletion: %w", err)
212+
}
213+
return false, nil
214+
}); err != nil {
215+
h.Errorf("error waiting for namespace deletion: %v", err)
216+
}
202217
})
203218
}
204219

0 commit comments

Comments
 (0)