Skip to content

Commit 5bbd4f8

Browse files
committed
fixing namespace listing in supervisor cluster
1 parent 393ed34 commit 5bbd4f8

File tree

3 files changed

+64
-57
lines changed

3 files changed

+64
-57
lines changed

tests/e2e/e2e_common.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -489,14 +489,12 @@ var (
489489
// For management workload domain isolation
490490
var (
491491
envZonal2StoragePolicyName = "ZONAL2_STORAGE_POLICY_IMM"
492-
envZonal2StoragePolicyNameLateBidning = "ZONAL2_STORAGE_POLICY_WFFC"
493492
envZonal1StoragePolicyName = "ZONAL1_STORAGE_POLICY_IMM"
494493
envZonal3StoragePolicyName = "ZONAL3_STORAGE_POLICY_IMM"
495494
topologyDomainIsolation = "Workload_Management_Isolation"
496495
envIsolationSharedStoragePolicyName = "WORKLOAD_ISOLATION_SHARED_STORAGE_POLICY"
497496
envSharedZone2Zone4StoragePolicyName = "SHARED_ZONE2_ZONE4_STORAGE_POLICY_IMM"
498497
envSharedZone2Zone4DatastoreUrl = "SHARED_ZONE2_ZONE4_DATASTORE_URL"
499-
envZonal2DatastoreUrl = "ZONAL2_DATASTORE_URL"
500498
envZone3DatastoreName = "ZONE3_DATASTORE_NAME"
501499
envZone2DatastoreName = "ZONE2_DATASTORE_NAME"
502500
vmMigrationUserName = "VM_MIGRATION_USER_NAME"

tests/e2e/mgmt_wrkld_domain_isolation.go

Lines changed: 49 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
240240
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
241241
}()
242242

243+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
244+
time.Sleep(2 * time.Minute)
245+
243246
ginkgo.By("Read zonal-2 storage policy tagged to wcp namespace")
244247
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyName, metav1.GetOptions{})
245248
if !apierrors.IsNotFound(err) {
@@ -319,6 +322,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
319322
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
320323
}()
321324

325+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
326+
time.Sleep(2 * time.Minute)
327+
322328
ginkgo.By("Fetch zone-1 storage policy tagged to wcp namespace")
323329
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyName, metav1.GetOptions{})
324330
if !apierrors.IsNotFound(err) {
@@ -373,9 +379,12 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
373379
replicas = 3
374380

375381
// reading zonal storage policy of zone-2 wrkld domain
376-
storagePolicyNameWffc := GetAndExpectStringEnvVar(envZonal2StoragePolicyNameLateBidning)
377382
storagePolicyNameImm := GetAndExpectStringEnvVar(envZonal2StoragePolicyName)
378383
storageProfileId = e2eVSphere.GetSpbmPolicyID(storagePolicyNameImm)
384+
385+
// append late-binding now as it knowns to k8s and not to vc
386+
storagePolicyNameWffc := storagePolicyNameImm + "-latebinding"
387+
379388
/*
380389
EX - zone -> zone-1, zone-2, zone-3, zone-4
381390
so topValStartIndex=1 and topValEndIndex=2 will fetch the 1st index value from topology map string
@@ -396,6 +405,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
396405
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
397406
}()
398407

408+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
409+
time.Sleep(2 * time.Minute)
410+
399411
ginkgo.By("Fetch zone-2 storage policy tagged to wcp namespace")
400412
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyNameWffc, metav1.GetOptions{})
401413
if !apierrors.IsNotFound(err) {
@@ -467,11 +479,11 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
467479
gomega.Expect(err).NotTo(gomega.HaveOccurred())
468480

469481
/*
470-
EX - zone -> zone-1, zone-2, zone-3, zone-4, zone-5
482+
EX - zone -> zone-1, zone-2, zone-3, zone-4
471483
so topValStartIndex=1 and topValEndIndex=3 will fetch the 2nd and 3rd index from topology map string
472484
*/
473485
topValStartIndex := 0
474-
topValEndIndex := 5
486+
topValEndIndex := 4
475487

476488
ginkgo.By("Fetching allowed topology assigned to all zones")
477489
allowedTopologies = setSpecificAllowedTopology(allowedTopologies, topkeyStartIndex, topValStartIndex,
@@ -488,6 +500,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
488500
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
489501
}()
490502

503+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
504+
time.Sleep(2 * time.Minute)
505+
491506
ginkgo.By("Fetch shared storage policy tagged to wcp namespace")
492507
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyName, metav1.GetOptions{})
493508
if !apierrors.IsNotFound(err) {
@@ -499,24 +514,13 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
499514
diskSize, storageclass, true)
500515
gomega.Expect(err).NotTo(gomega.HaveOccurred())
501516
volHandle := persistentVolumes[0].Spec.CSI.VolumeHandle
502-
defer func() {
503-
err := fpv.DeletePersistentVolumeClaim(ctx, client, pvclaim.Name, namespace)
504-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
505-
err = e2eVSphere.waitForCNSVolumeToBeDeleted(volHandle)
506-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
507-
}()
508517

509518
ginkgo.By("Creating a Deployment using pvc")
510519
dep, err := createDeployment(ctx, client, 1, labelsMap, nil, namespace,
511520
[]*v1.PersistentVolumeClaim{pvclaim}, execRWXCommandPod1, false, busyBoxImageOnGcr)
512521
gomega.Expect(err).NotTo(gomega.HaveOccurred())
513522
podList, err := fdep.GetPodsForDeployment(ctx, client, dep)
514523
gomega.Expect(err).NotTo(gomega.HaveOccurred())
515-
defer func() {
516-
ginkgo.By("Delete Deployment")
517-
err := client.AppsV1().Deployments(namespace).Delete(ctx, dep.Name, metav1.DeleteOptions{})
518-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
519-
}()
520524

521525
ginkgo.By("Verify the volume is accessible and Read/write is possible")
522526
output := readFileFromPod(namespace, podList.Items[0].Name, filePathPod1)
@@ -531,17 +535,11 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
531535
gomega.Expect(strings.Contains(output2, "Hello message from Pod1")).NotTo(gomega.BeFalse())
532536

533537
ginkgo.By("Creating service")
534-
service := CreateService(namespace, client)
535-
defer func() {
536-
deleteService(namespace, client, service)
537-
}()
538+
_ = CreateService(namespace, client)
538539

539540
ginkgo.By("Creating statefulset")
540541
statefulset := createCustomisedStatefulSets(ctx, client, namespace, true, replicas, false, nil,
541542
false, true, "", "", storageclass, storageclass.Name)
542-
defer func() {
543-
fss.DeleteAllStatefulSets(ctx, client, namespace)
544-
}()
545543

546544
ginkgo.By("Verify svc pv affinity, pvc annotation and pod node affinity")
547545
err = verifyPvcAnnotationPvAffinityPodAnnotationInSvc(ctx, client, statefulset, nil, dep, namespace,
@@ -569,46 +567,19 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
569567
gomega.Expect(err).NotTo(gomega.HaveOccurred())
570568

571569
ginkgo.By("Create a dynamic volume snapshot")
572-
volumeSnapshot, snapshotContent, snapshotCreated,
573-
snapshotContentCreated, snapshotId, _, err := createDynamicVolumeSnapshot(ctx, namespace, snapc,
570+
volumeSnapshot, _, _,
571+
_, snapshotId, _, err := createDynamicVolumeSnapshot(ctx, namespace, snapc,
574572
volumeSnapshotClass, pvclaim, volHandle, diskSize, true)
575573
gomega.Expect(err).NotTo(gomega.HaveOccurred())
576-
defer func() {
577-
if snapshotContentCreated {
578-
err = deleteVolumeSnapshotContent(ctx, snapshotContent, snapc, pandoraSyncWaitTime)
579-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
580-
}
581-
582-
if snapshotCreated {
583-
framework.Logf("Deleting volume snapshot")
584-
deleteVolumeSnapshotWithPandoraWait(ctx, snapc, namespace, volumeSnapshot.Name, pandoraSyncWaitTime)
585-
586-
framework.Logf("Wait till the volume snapshot is deleted")
587-
err = waitForVolumeSnapshotContentToBeDeletedWithPandoraWait(ctx, snapc,
588-
*volumeSnapshot.Status.BoundVolumeSnapshotContentName, pandoraSyncWaitTime)
589-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
590-
}
591-
}()
592574

593575
ginkgo.By("Mark zone-2 for removal from wcp namespace")
594576
err = markZoneForRemovalFromWcpNs(vcRestSessionId, namespace,
595577
topologyAffinityDetails[topologyCategories[0]][1]) // this will fetch zone-2
596578
gomega.Expect(err).NotTo(gomega.HaveOccurred())
597579

598580
ginkgo.By("Restore a volume snapshot")
599-
pvclaim2, pvs2, pod2 := verifyVolumeRestoreOperation(ctx, client, namespace, storageclass,
581+
_, _, pod2 := verifyVolumeRestoreOperation(ctx, client, namespace, storageclass,
600582
volumeSnapshot, diskSize, true)
601-
volHandle2 := pvs2[0].Spec.CSI.VolumeHandle
602-
defer func() {
603-
ginkgo.By(fmt.Sprintf("Deleting the pod %s in namespace %s", pod2.Name, namespace))
604-
err = fpod.DeletePodWithWait(ctx, client, pod2)
605-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
606-
607-
err := fpv.DeletePersistentVolumeClaim(ctx, client, pvclaim2.Name, namespace)
608-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
609-
err = e2eVSphere.waitForCNSVolumeToBeDeleted(volHandle2)
610-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
611-
}()
612583

613584
ginkgo.By("Perform scaling operation on statefulset. Increase the replica count to 9 when zone is marked" +
614585
" for removal")
@@ -622,7 +593,7 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
622593
gomega.Expect(err).NotTo(gomega.HaveOccurred())
623594

624595
ginkgo.By("Delete dynamic volume snapshot")
625-
snapshotCreated, snapshotContentCreated, err = deleteVolumeSnapshot(ctx, snapc, namespace,
596+
_, _, err = deleteVolumeSnapshot(ctx, snapc, namespace,
626597
volumeSnapshot, pandoraSyncWaitTime, volHandle, snapshotId, true)
627598
gomega.Expect(err).NotTo(gomega.HaveOccurred())
628599
})
@@ -665,6 +636,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
665636
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
666637
}()
667638

639+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
640+
time.Sleep(2 * time.Minute)
641+
668642
ginkgo.By("Read shared storage policy tagged to wcp namespace")
669643
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, sharedStoragePolicyName, metav1.GetOptions{})
670644
if !apierrors.IsNotFound(err) {
@@ -737,6 +711,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
737711
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
738712
}()
739713

714+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
715+
time.Sleep(2 * time.Minute)
716+
740717
ginkgo.By("Read shared storage policy tagged to wcp namespace")
741718
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, sharedStoragePolicyName, metav1.GetOptions{})
742719
if !apierrors.IsNotFound(err) {
@@ -854,6 +831,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
854831
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
855832
}()
856833

834+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
835+
time.Sleep(2 * time.Minute)
836+
857837
ginkgo.By("Read zonal storage policy of zone3")
858838
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, zonalStoragePolicyZone3, metav1.GetOptions{})
859839
if !apierrors.IsNotFound(err) {
@@ -910,14 +890,14 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
910890
// reading zonal storage policy of zone-1 and zone-2
911891
storagePolicyNameZ1 := GetAndExpectStringEnvVar(envZonal1StoragePolicyName)
912892
storageProfileIdZ1 := e2eVSphere.GetSpbmPolicyID(storagePolicyNameZ1)
913-
storagePolicyNameZ2 := GetAndExpectStringEnvVar(envZonal2StoragePolicyNameLateBidning)
893+
storagePolicyNameZ2 := GetAndExpectStringEnvVar(envZonal2StoragePolicyName)
914894
storageProfileIdZ2 := e2eVSphere.GetSpbmPolicyID(storagePolicyNameZ2)
915895

916896
// append late-binding now as it knowns to k8s and not to vc
917897
storagePolicyNameZ2 = storagePolicyNameZ2 + "-latebinding"
918898

919899
// read datastore url
920-
zonal2DsUrl := os.Getenv(envZonal2DatastoreUrl)
900+
zonal2DsUrl := os.Getenv(envZone2DatastoreUrl)
921901

922902
ginkgo.By("Create a WCP namespace tagged to zone-1 & zone-2")
923903
namespace, statuscode, err = createtWcpNsWithZonesAndPolicies(vcRestSessionId,
@@ -930,6 +910,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
930910
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
931911
}()
932912

913+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
914+
time.Sleep(2 * time.Minute)
915+
933916
ginkgo.By("Fetch storage class tagged to wcp namespace")
934917
storageClassNames := []string{sharedStoragePolicyName, storagePolicyNameZ1, storagePolicyNameZ2}
935918
storageClasses := make([]*storagev1.StorageClass, len(storageClassNames))
@@ -1153,6 +1136,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
11531136
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
11541137
}()
11551138

1139+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
1140+
time.Sleep(2 * time.Minute)
1141+
11561142
storageClassNames := []string{storagePolicyNameZ1, sharedStoragePolicyName}
11571143
storageClasses := make([]*storagev1.StorageClass, len(storageClassNames))
11581144
for i, name := range storageClassNames {
@@ -1307,6 +1293,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
13071293
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
13081294
}()
13091295

1296+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
1297+
time.Sleep(2 * time.Minute)
1298+
13101299
// Create PVCs
13111300
ginkgo.By("Create 2 PVCs with different binding modes")
13121301
storageClassList := []*storagev1.StorageClass{zonalStorageClass, sharedStorageClass}
@@ -1339,7 +1328,6 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
13391328
deployments := []*appsv1.Deployment{}
13401329
depSpecs := [][]*v1.PersistentVolumeClaim{
13411330
{pvcList[0], pvcList[1]},
1342-
{pvcList[2]},
13431331
}
13441332
for _, pvcSet := range depSpecs {
13451333
dep, err := createDeployment(ctx, client, 1, labelsMap, nil, namespace,
@@ -1524,6 +1512,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
15241512
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
15251513
}()
15261514

1515+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
1516+
time.Sleep(2 * time.Minute)
1517+
15271518
ginkgo.By("Create static volume")
15281519
_, _, staticPvc, staticPv, err := createStaticVolumeOnSvc(ctx, client,
15291520
namespace, storageDatastoreUrlZone2, storagePolicyName)
@@ -1645,6 +1636,9 @@ var _ bool = ginkgo.Describe("[domain-isolation] Management-Workload-Domain-Isol
16451636
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
16461637
}()
16471638

1639+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
1640+
time.Sleep(2 * time.Minute)
1641+
16481642
ginkgo.By("Read zonal class")
16491643
storageclassImm, err := client.StorageV1().StorageClasses().Get(ctx, zonalPolicy, metav1.GetOptions{})
16501644
if !apierrors.IsNotFound(err) {

tests/e2e/mgmt_wrkld_domain_isolation_vmservice.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ var _ bool = ginkgo.Describe("[domain-isolation-vmsvc] Domain-Isolation-VmServic
219219
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
220220
}()
221221

222+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
223+
time.Sleep(2 * time.Minute)
224+
222225
ginkgo.By("Read zonal-2 storage policy which is tagged to wcp namespace")
223226
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyNameZone2, metav1.GetOptions{})
224227
if !apierrors.IsNotFound(err) {
@@ -327,6 +330,9 @@ var _ bool = ginkgo.Describe("[domain-isolation-vmsvc] Domain-Isolation-VmServic
327330
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
328331
}()
329332

333+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
334+
time.Sleep(2 * time.Minute)
335+
330336
ginkgo.By("Read shared storage policy which is tagged to wcp namespace")
331337
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyNameZone24, metav1.GetOptions{})
332338
if !apierrors.IsNotFound(err) {
@@ -441,6 +447,9 @@ var _ bool = ginkgo.Describe("[domain-isolation-vmsvc] Domain-Isolation-VmServic
441447
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
442448
}()
443449

450+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
451+
time.Sleep(2 * time.Minute)
452+
444453
ginkgo.By("Read shared storage policy which is tagged to wcp namespace")
445454
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyName, metav1.GetOptions{})
446455
if !apierrors.IsNotFound(err) {
@@ -600,6 +609,9 @@ var _ bool = ginkgo.Describe("[domain-isolation-vmsvc] Domain-Isolation-VmServic
600609
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
601610
}()
602611

612+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
613+
time.Sleep(2 * time.Minute)
614+
603615
ginkgo.By("Read shared storage policy which is tagged to wcp namespace")
604616
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyName, metav1.GetOptions{})
605617
if !apierrors.IsNotFound(err) {
@@ -785,6 +797,9 @@ var _ bool = ginkgo.Describe("[domain-isolation-vmsvc] Domain-Isolation-VmServic
785797
gomega.Expect(waitForNamespaceToGetDeleted(ctx, client, namespace, poll, pollTimeout)).To(gomega.Succeed())
786798
}()
787799

800+
ginkgo.By("Wait for namespace to get listed under supervisor cluster")
801+
time.Sleep(2 * time.Minute)
802+
788803
ginkgo.By("Read shared storage policy which is tagged to wcp namespace")
789804
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyName, metav1.GetOptions{})
790805
if !apierrors.IsNotFound(err) {

0 commit comments

Comments
 (0)