Skip to content

Commit 3c14ee8

Browse files
committed
e2e: wait for the namespace deletion
If the user wants to have the namespace deleted to start clean for each testing, lets clean it up at the end. Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
1 parent 14fc84b commit 3c14ee8

5 files changed

Lines changed: 64 additions & 3 deletions

File tree

test/e2e/encryptionkeyrotation/encryptionkeyrotation_test.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@ import (
2525

2626
ginkgo "github.com/onsi/ginkgo/v2"
2727
gomega "github.com/onsi/gomega"
28-
apierrors "k8s.io/apimachinery/pkg/api/errors"
29-
3028
corev1 "k8s.io/api/core/v1"
29+
apierrors "k8s.io/apimachinery/pkg/api/errors"
30+
"k8s.io/apimachinery/pkg/util/wait"
31+
"sigs.k8s.io/controller-runtime/pkg/client"
3132

3233
csiaddonsv1alpha1 "github.com/csi-addons/kubernetes-csi-addons/api/csiaddons/v1alpha1"
3334
"github.com/csi-addons/kubernetes-csi-addons/test/e2e/config"
@@ -85,6 +86,17 @@ var _ = ginkgo.Describe("EncryptionKeyRotation", ginkgo.Ordered, func() {
8586
err := f.Client.Delete(ctx, f.Namespace)
8687
if err != nil && !apierrors.IsNotFound(err) {
8788
ginkgo.By(fmt.Sprintf("Warning: Failed to delete namespace: %v", err))
89+
return
90+
}
91+
92+
ginkgo.By(fmt.Sprintf("Waiting for namespace %s to be deleted", f.Namespace.Name))
93+
err = wait.PollUntilContextTimeout(ctx, 2*time.Second, f.Config.Timeout, true, func(ctx context.Context) (bool, error) {
94+
ns := &corev1.Namespace{}
95+
err := f.Client.Get(ctx, client.ObjectKey{Name: f.Namespace.Name}, ns)
96+
return apierrors.IsNotFound(err), nil
97+
})
98+
if err != nil {
99+
ginkgo.By(fmt.Sprintf("Warning: Namespace deletion timed out: %v", err))
88100
}
89101
}
90102
})

test/e2e/networkfence/networkfence_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,14 @@ import (
2121
"flag"
2222
"fmt"
2323
"testing"
24+
"time"
2425

2526
ginkgo "github.com/onsi/ginkgo/v2"
2627
gomega "github.com/onsi/gomega"
28+
corev1 "k8s.io/api/core/v1"
2729
apierrors "k8s.io/apimachinery/pkg/api/errors"
30+
"k8s.io/apimachinery/pkg/util/wait"
31+
"sigs.k8s.io/controller-runtime/pkg/client"
2832

2933
csiaddonsv1alpha1 "github.com/csi-addons/kubernetes-csi-addons/api/csiaddons/v1alpha1"
3034
"github.com/csi-addons/kubernetes-csi-addons/test/e2e/config"
@@ -82,6 +86,17 @@ var _ = ginkgo.Describe("NetworkFence", ginkgo.Ordered, func() {
8286
err := f.Client.Delete(ctx, f.Namespace)
8387
if err != nil && !apierrors.IsNotFound(err) {
8488
ginkgo.By(fmt.Sprintf("Warning: Failed to delete namespace: %v", err))
89+
return
90+
}
91+
92+
ginkgo.By(fmt.Sprintf("Waiting for namespace %s to be deleted", f.Namespace.Name))
93+
err = wait.PollUntilContextTimeout(ctx, 2*time.Second, f.Config.Timeout, true, func(ctx context.Context) (bool, error) {
94+
ns := &corev1.Namespace{}
95+
err := f.Client.Get(ctx, client.ObjectKey{Name: f.Namespace.Name}, ns)
96+
return apierrors.IsNotFound(err), nil
97+
})
98+
if err != nil {
99+
ginkgo.By(fmt.Sprintf("Warning: Namespace deletion timed out: %v", err))
85100
}
86101
}
87102
})

test/e2e/reclaimspace/reclaimspace_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ import (
2828
corev1 "k8s.io/api/core/v1"
2929
apierrors "k8s.io/apimachinery/pkg/api/errors"
3030
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
31+
"k8s.io/apimachinery/pkg/util/wait"
32+
"sigs.k8s.io/controller-runtime/pkg/client"
3133

3234
csiaddonsv1alpha1 "github.com/csi-addons/kubernetes-csi-addons/api/csiaddons/v1alpha1"
3335
"github.com/csi-addons/kubernetes-csi-addons/test/e2e/config"
@@ -85,6 +87,17 @@ var _ = ginkgo.Describe("ReclaimSpace", ginkgo.Ordered, func() {
8587
err := f.Client.Delete(ctx, f.Namespace)
8688
if err != nil && !apierrors.IsNotFound(err) {
8789
ginkgo.By(fmt.Sprintf("Warning: Failed to delete namespace: %v", err))
90+
return
91+
}
92+
93+
ginkgo.By(fmt.Sprintf("Waiting for namespace %s to be deleted", f.Namespace.Name))
94+
err = wait.PollUntilContextTimeout(ctx, 2*time.Second, f.Config.Timeout, true, func(ctx context.Context) (bool, error) {
95+
ns := &corev1.Namespace{}
96+
err := f.Client.Get(ctx, client.ObjectKey{Name: f.Namespace.Name}, ns)
97+
return apierrors.IsNotFound(err), nil
98+
})
99+
if err != nil {
100+
ginkgo.By(fmt.Sprintf("Warning: Namespace deletion timed out: %v", err))
88101
}
89102
}
90103
})

test/e2e/volumegroupreplication/volumegroupreplication_test.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525

2626
ginkgo "github.com/onsi/ginkgo/v2"
2727
gomega "github.com/onsi/gomega"
28-
2928
corev1 "k8s.io/api/core/v1"
3029
apierrors "k8s.io/apimachinery/pkg/api/errors"
3130
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -88,6 +87,17 @@ var _ = ginkgo.Describe("VolumeGroupReplication", ginkgo.Ordered, func() {
8887
err := f.Client.Delete(ctx, f.Namespace)
8988
if err != nil && !apierrors.IsNotFound(err) {
9089
ginkgo.By(fmt.Sprintf("Warning: Failed to delete namespace: %v", err))
90+
return
91+
}
92+
93+
ginkgo.By(fmt.Sprintf("Waiting for namespace %s to be deleted", f.Namespace.Name))
94+
err = wait.PollUntilContextTimeout(ctx, 2*time.Second, f.Config.Timeout, true, func(ctx context.Context) (bool, error) {
95+
ns := &corev1.Namespace{}
96+
err := f.Client.Get(ctx, client.ObjectKey{Name: f.Namespace.Name}, ns)
97+
return apierrors.IsNotFound(err), nil
98+
})
99+
if err != nil {
100+
ginkgo.By(fmt.Sprintf("Warning: Namespace deletion timed out: %v", err))
91101
}
92102
}
93103
})

test/e2e/volumereplication/volumereplication_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,17 @@ var _ = ginkgo.Describe("VolumeReplication", ginkgo.Ordered, func() {
8787
err := f.Client.Delete(ctx, f.Namespace)
8888
if err != nil && !apierrors.IsNotFound(err) {
8989
ginkgo.By(fmt.Sprintf("Warning: Failed to delete namespace: %v", err))
90+
return
91+
}
92+
93+
ginkgo.By(fmt.Sprintf("Waiting for namespace %s to be deleted", f.Namespace.Name))
94+
err = wait.PollUntilContextTimeout(ctx, 2*time.Second, f.Config.Timeout, true, func(ctx context.Context) (bool, error) {
95+
ns := &corev1.Namespace{}
96+
err := f.Client.Get(ctx, client.ObjectKey{Name: f.Namespace.Name}, ns)
97+
return apierrors.IsNotFound(err), nil
98+
})
99+
if err != nil {
100+
ginkgo.By(fmt.Sprintf("Warning: Namespace deletion timed out: %v", err))
90101
}
91102
}
92103
})

0 commit comments

Comments
 (0)