Skip to content

Commit c1e655a

Browse files
committed
test: increase time waiting for resource cleanup Signed-off-by: Wantong Jiang <[email protected]>
1 parent 94f8fcc commit c1e655a

File tree

7 files changed

+49
-55
lines changed

7 files changed

+49
-55
lines changed

test/e2e/actuals_test.go

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ package e2e
1818

1919
import (
2020
"fmt"
21+
"strings"
22+
"time"
2123

2224
"github.com/google/go-cmp/cmp"
2325
. "github.com/onsi/ginkgo/v2"
@@ -982,12 +984,39 @@ func safeRolloutWorkloadCRPStatusUpdatedActual(wantSelectedResourceIdentifiers [
982984
}
983985

984986
func workNamespaceRemovedFromClusterActual(cluster *framework.Cluster) func() error {
985-
client := cluster.KubeClient
986-
987987
ns := appNamespace()
988988
return func() error {
989-
if err := client.Get(ctx, types.NamespacedName{Name: ns.Name}, &corev1.Namespace{}); !errors.IsNotFound(err) {
990-
return fmt.Errorf("work namespace %s still exists or an unexpected error occurred: %w", ns.Name, err)
989+
if err := cluster.KubeClient.Get(ctx, types.NamespacedName{Name: ns.Name}, &ns); !errors.IsNotFound(err) {
990+
if err == nil {
991+
// List all pods and configmaps in the namespace
992+
podList := &corev1.PodList{}
993+
if listErr := cluster.KubeClient.List(ctx, podList, client.InNamespace(ns.Name)); listErr != nil {
994+
return fmt.Errorf("work namespace %s still exists on cluster %s but failed to list pods: %w, ns deletion timestamp: %v, current timestamp: %v",
995+
ns.Name, cluster.ClusterName, listErr, ns.GetDeletionTimestamp(), time.Now())
996+
}
997+
configMapList := &corev1.ConfigMapList{}
998+
if listErr := cluster.KubeClient.List(ctx, configMapList, client.InNamespace(ns.Name)); listErr != nil {
999+
return fmt.Errorf("work namespace %s still exists on cluster %s but failed to list configmaps: %w, ns deletion timestamp: %v, current timestamp: %v",
1000+
ns.Name, cluster.ClusterName, listErr, ns.GetDeletionTimestamp(), time.Now())
1001+
}
1002+
1003+
// Build resource status summary
1004+
var resourceStatus strings.Builder
1005+
resourceStatus.WriteString(fmt.Sprintf("\nList pods and configmaps in namespace %s:\n", ns.Name))
1006+
for _, item := range podList.Items {
1007+
resourceStatus.WriteString(fmt.Sprintf("- Pod: %s/%s\n", item.GetNamespace(), item.GetName()))
1008+
resourceStatus.WriteString(fmt.Sprintf(" DeletionTimestamp: %v\n", item.GetDeletionTimestamp()))
1009+
resourceStatus.WriteString(fmt.Sprintf(" Finalizers: %v\n", item.GetFinalizers()))
1010+
}
1011+
for _, item := range configMapList.Items {
1012+
resourceStatus.WriteString(fmt.Sprintf("- ConfigMap: %s/%s\n", item.GetNamespace(), item.GetName()))
1013+
resourceStatus.WriteString(fmt.Sprintf(" DeletionTimestamp: %v\n", item.GetDeletionTimestamp()))
1014+
resourceStatus.WriteString(fmt.Sprintf(" Finalizers: %v\n", item.GetFinalizers()))
1015+
}
1016+
return fmt.Errorf("work namespace %s still exists on cluster %s: deletion timestamp: %v, current timestamp: %v, resources: %s",
1017+
ns.Name, cluster.ClusterName, ns.GetDeletionTimestamp(), time.Now(), resourceStatus.String())
1018+
}
1019+
return fmt.Errorf("getting work namespace %s failed: %w", ns.Name, err)
9911020
}
9921021
return nil
9931022
}

test/e2e/placement_eviction_test.go

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,7 @@ var _ = Describe("ClusterResourcePlacement eviction of bound binding, taint clus
159159
})
160160

161161
It("should ensure no resources exist on evicted member cluster with taint", func() {
162-
for _, cluster := range taintClusters {
163-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
164-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
165-
}
162+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
166163
})
167164

168165
It("should update cluster resource placement status as expected", func() {
@@ -583,10 +580,7 @@ var _ = Describe("ClusterResourcePlacement eviction of bound binding - PickAll C
583580
})
584581

585582
It("should ensure no resources exist on evicted member cluster with taint", func() {
586-
for _, cluster := range taintClusters {
587-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
588-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
589-
}
583+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
590584
})
591585

592586
It("should update cluster resource placement status as expected", func() {
@@ -776,10 +770,7 @@ var _ = Describe("ClusterResourcePlacement eviction of bound binding - PickN CRP
776770
})
777771

778772
It("should ensure no resources exist on evicted member cluster with taint", func() {
779-
for _, cluster := range taintClusters {
780-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
781-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
782-
}
773+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
783774
})
784775

785776
It("should update cluster resource placement status as expected", func() {
@@ -885,10 +876,7 @@ var _ = Describe("ClusterResourcePlacement eviction of bound binding - PickN CRP
885876
})
886877

887878
It("should ensure no resources exist on evicted member cluster with taint", func() {
888-
for _, cluster := range taintClusters {
889-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
890-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
891-
}
879+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
892880
})
893881

894882
It("should update cluster resource placement status as expected", func() {
@@ -1170,10 +1158,7 @@ var _ = Describe("ClusterResourcePlacement eviction of bound binding - PickN CRP
11701158
})
11711159

11721160
It("should ensure no resources exist on evicted member cluster with taint", func() {
1173-
for _, cluster := range taintClusters {
1174-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
1175-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
1176-
}
1161+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
11771162
})
11781163

11791164
It("should update cluster resource placement status as expected", func() {
@@ -1279,10 +1264,7 @@ var _ = Describe("ClusterResourcePlacement eviction of bound binding - PickN CRP
12791264
})
12801265

12811266
It("should ensure no resources exist on evicted member cluster with taint", func() {
1282-
for _, cluster := range taintClusters {
1283-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
1284-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
1285-
}
1267+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
12861268
})
12871269

12881270
It("should update cluster resource placement status as expected", func() {

test/e2e/placement_pickall_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -293,8 +293,7 @@ var _ = Describe("placing resources using a CRP of PickAll placement type", func
293293
})
294294

295295
It("should remove resources on previously matched clusters", func() {
296-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(memberCluster1EastProd)
297-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove resources on previously matched clusters")
296+
checkIfRemovedWorkResourcesFromMemberClusters([]*framework.Cluster{memberCluster1EastProd})
298297
})
299298

300299
AfterAll(func() {
@@ -918,8 +917,7 @@ var _ = Describe("placing resources using a CRP of PickAll placement type", func
918917
})
919918

920919
It("should remove resources on previously matched clusters", func() {
921-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(memberCluster2EastCanary)
922-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove resources on previously matched clusters")
920+
checkIfRemovedWorkResourcesFromMemberClusters([]*framework.Cluster{memberCluster2EastCanary})
923921
})
924922

925923
AfterAll(func() {

test/e2e/placement_pickfixed_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,7 @@ var _ = Describe("placing resources using a CRP of PickFixed placement type", fu
137137
})
138138

139139
It("should remove resources from previously specified clusters", func() {
140-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(memberCluster1EastProd)
141-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove resources from previously specified clusters")
140+
checkIfRemovedWorkResourcesFromMemberClusters([]*framework.Cluster{memberCluster1EastProd})
142141
})
143142

144143
AfterAll(func() {

test/e2e/placement_pickn_test.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,7 @@ var _ = Describe("placing resources using a CRP of PickN placement", func() {
145145
})
146146

147147
It("should remove resources from the downscaled clusters", func() {
148-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(memberCluster2EastCanary)
149-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove resources from the downscaled clusters")
148+
checkIfRemovedWorkResourcesFromMemberClusters([]*framework.Cluster{memberCluster2EastCanary})
150149
})
151150

152151
AfterAll(func() {
@@ -411,8 +410,7 @@ var _ = Describe("placing resources using a CRP of PickN placement", func() {
411410
})
412411

413412
It("should remove resources from the unpicked clusters", func() {
414-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(memberCluster2EastCanary)
415-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove resources from the downscaled clusters")
413+
checkIfRemovedWorkResourcesFromMemberClusters([]*framework.Cluster{memberCluster2EastCanary})
416414
})
417415

418416
AfterAll(func() {
@@ -548,10 +546,7 @@ var _ = Describe("placing resources using a CRP of PickN placement", func() {
548546

549547
It("should remove resources from the downscaled clusters", func() {
550548
downscaledClusters := []*framework.Cluster{memberCluster3WestProd, memberCluster2EastCanary}
551-
for _, cluster := range downscaledClusters {
552-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
553-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove resources from the downscaled clusters")
554-
}
549+
checkIfRemovedWorkResourcesFromMemberClusters(downscaledClusters)
555550
})
556551

557552
It("should update CRP status as expected", func() {

test/e2e/taint_toleration_test.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,7 @@ var _ = Describe("placing resources using a cluster resource placement with no p
114114
})
115115

116116
It("should ensure no resources exist on member clusters with taint", func() {
117-
for _, cluster := range taintClusters {
118-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
119-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
120-
}
117+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
121118
})
122119

123120
It("should place resources on the selected cluster without taint", func() {
@@ -190,10 +187,7 @@ var _ = Describe("placing resources using a cluster resource placement with no p
190187
})
191188

192189
It("should ensure no resources exist on member clusters with taint", func() {
193-
for _, cluster := range taintClusters {
194-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
195-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
196-
}
190+
checkIfRemovedWorkResourcesFromMemberClusters(taintClusters)
197191
})
198192

199193
It("should place resources on the selected cluster without taint", func() {
@@ -307,10 +301,7 @@ var _ = Describe("picking N clusters with affinities and topology spread constra
307301
})
308302

309303
It("should ensure no resources exist on member clusters with untolerated taint", func() {
310-
for _, cluster := range unSelectedClusters {
311-
resourceRemovedActual := workNamespaceRemovedFromClusterActual(cluster)
312-
Eventually(resourceRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to check if resources doesn't exist on member cluster")
313-
}
304+
checkIfRemovedWorkResourcesFromMemberClusters(unSelectedClusters)
314305
})
315306

316307
AfterAll(func() {

test/e2e/utils_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,7 @@ func checkIfRemovedWorkResourcesFromMemberClusters(clusters []*framework.Cluster
754754
memberCluster := clusters[idx]
755755

756756
workResourcesRemovedActual := workNamespaceRemovedFromClusterActual(memberCluster)
757-
Eventually(workResourcesRemovedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove work resources from member cluster %s", memberCluster.ClusterName)
757+
Eventually(workResourcesRemovedActual, workloadEventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to remove work resources from member cluster %s", memberCluster.ClusterName)
758758
}
759759
}
760760

0 commit comments

Comments
 (0)