Skip to content

Commit 218a381

Browse files
committed
new changes
1 parent 99c65bf commit 218a381

File tree

1 file changed

+83
-33
lines changed

1 file changed

+83
-33
lines changed

tests/e2e/snapshot_vmservice_vm.go

Lines changed: 83 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3152,7 +3152,7 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
31523152
pvcSpec := getPersistentVolumeClaimSpecWithStorageClass(namespace, "", storageclass, nil, "")
31533153
pvcSpec.Annotations = pvcAnnotations
31543154
pvc, err := client.CoreV1().PersistentVolumeClaims(namespace).Create(ctx, pvcSpec, metav1.CreateOptions{})
3155-
//gomega.Expect(err).NotTo(gomega.HaveOccurred())
3155+
gomega.Expect(err).To(gomega.HaveOccurred())
31563156

31573157
if !latebinding {
31583158
ginkgo.By("Wait for SV PVC to come to bound state")
@@ -3273,11 +3273,6 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
32733273
gomega.Expect(err).NotTo(gomega.HaveOccurred())
32743274
}()
32753275

3276-
ginkgo.By("Verify SV PV has has required PV node affinity details")
3277-
_, err = verifyVolumeTopologyForLevel5(restorepv[0], allowedTopologyHAMap)
3278-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3279-
framework.Logf("SVC PV: %s has required PV node affinity details", restorepv[0].Name)
3280-
32813276
ginkgo.By("Creating VM")
32823277
vm2 := createVmServiceVmWithPvcsWithZone(ctx, vmopC, namespace, vmClass,
32833278
[]*v1.PersistentVolumeClaim{restorepvc}, vmi, storageClassName, secretName, topologykey)
@@ -3305,6 +3300,21 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
33053300
vmIp2, err := waitNgetVmsvcVmIp(ctx, vmopC, namespace, vm2.Name)
33063301
gomega.Expect(err).NotTo(gomega.HaveOccurred())
33073302

3303+
if latebinding {
3304+
ginkgo.By("Verify PVC bound state created with latebinding mode storage policy")
3305+
restorepvs, err := fpv.WaitForPVClaimBoundPhase(ctx, client, []*v1.PersistentVolumeClaim{restorepvc},
3306+
pollTimeout)
3307+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3308+
restorepv := restorepvs[0]
3309+
restorevolHandle = restorepv.Spec.CSI.VolumeHandle
3310+
gomega.Expect(restorevolHandle).NotTo(gomega.BeEmpty())
3311+
}
3312+
3313+
ginkgo.By("Verify SV PV has has required PV node affinity details")
3314+
_, err = verifyVolumeTopologyForLevel5(restorepv[0], allowedTopologyHAMap)
3315+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3316+
framework.Logf("SVC PV: %s has required PV node affinity details", restorepv[0].Name)
3317+
33083318
ginkgo.By("Wait and verify PVCs are attached to the VM")
33093319
gomega.Expect(waitNverifyPvcsAreAttachedToVmsvcVm(ctx, vmopC, cnsopC, vm2,
33103320
[]*v1.PersistentVolumeClaim{restorepvc})).NotTo(gomega.HaveOccurred())
@@ -3370,6 +3380,10 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
33703380
allowedTopologyHAMap := createAllowedTopologiesMap(allowedTopos)
33713381
pvcAnnotations := make(map[string]string)
33723382
topoList := []string{}
3383+
var topologykey string
3384+
var volumeId string
3385+
var pvs []*v1.PersistentVolume
3386+
var restorevolHandle1, restorevolHandle2 string
33733387

33743388
for key, val := range allowedTopologyHAMap {
33753389
for _, topoVal := range val {
@@ -3382,20 +3396,22 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
33823396
pvcAnnotations[tkgHARequestedAnnotationKey] = annotationVal
33833397
framework.Logf("annotationVal :%s, pvcAnnotations: %v", annotationVal, pvcAnnotations)
33843398

3385-
ginkgo.By("Creating Pvc with Immediate topology storageclass")
3399+
ginkgo.By("Creating Pvc")
33863400
storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storageClassName, metav1.GetOptions{})
33873401
gomega.Expect(err).NotTo(gomega.HaveOccurred())
33883402
pvcSpec := getPersistentVolumeClaimSpecWithStorageClass(namespace, "", storageclass, nil, "")
33893403
pvcSpec.Annotations = pvcAnnotations
33903404
pvc, err := client.CoreV1().PersistentVolumeClaims(namespace).Create(ctx, pvcSpec, metav1.CreateOptions{})
3391-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3405+
gomega.Expect(err).To(gomega.HaveOccurred())
33923406

3393-
ginkgo.By("Wait for SV PVC to come to bound state")
3394-
pvs, err := fpv.WaitForPVClaimBoundPhase(ctx, client, []*v1.PersistentVolumeClaim{pvc},
3395-
framework.ClaimProvisionTimeout)
3396-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3397-
topologykey := pvs[0].Spec.NodeAffinity.Required.NodeSelectorTerms[0].MatchExpressions[0].Values[0]
3398-
volumeId := pvs[0].Spec.CSI.VolumeHandle
3407+
if !latebinding {
3408+
ginkgo.By("Wait for SV PVC to come to bound state")
3409+
pvs, err = fpv.WaitForPVClaimBoundPhase(ctx, client, []*v1.PersistentVolumeClaim{pvc},
3410+
framework.ClaimProvisionTimeout)
3411+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3412+
topologykey = pvs[0].Spec.NodeAffinity.Required.NodeSelectorTerms[0].MatchExpressions[0].Values[0]
3413+
volumeId = pvs[0].Spec.CSI.VolumeHandle
3414+
}
33993415

34003416
defer func() {
34013417
err := fpv.DeletePersistentVolumeClaim(ctx, client, pvc.Name, namespace)
@@ -3407,11 +3423,6 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
34073423
"kubernetes", volumeId))
34083424
}()
34093425

3410-
ginkgo.By("Verify SV PV has has required PV node affinity details")
3411-
_, err = verifyVolumeTopologyForLevel5(pvs[0], allowedTopologyHAMap)
3412-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3413-
framework.Logf("SVC PV: %s has required PV node affinity details", pvs[0].Name)
3414-
34153426
ginkgo.By("Creating VM bootstrap data")
34163427
secretName := createBootstrapSecretForVmsvcVms(ctx, client, namespace)
34173428
defer func() {
@@ -3447,6 +3458,20 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
34473458
vmIp, err := waitNgetVmsvcVmIp(ctx, vmopC, namespace, vm.Name)
34483459
gomega.Expect(err).NotTo(gomega.HaveOccurred())
34493460

3461+
if latebinding {
3462+
ginkgo.By("Wait for SV PVC to come to bound state")
3463+
pvs, err = fpv.WaitForPVClaimBoundPhase(ctx, client, []*v1.PersistentVolumeClaim{pvc},
3464+
framework.ClaimProvisionTimeout)
3465+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3466+
topologykey = pvs[0].Spec.NodeAffinity.Required.NodeSelectorTerms[0].MatchExpressions[0].Values[0]
3467+
volumeId = pvs[0].Spec.CSI.VolumeHandle
3468+
}
3469+
3470+
ginkgo.By("Verify SV PV has has required PV node affinity details")
3471+
_, err = verifyVolumeTopologyForLevel5(pvs[0], allowedTopologyHAMap)
3472+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3473+
framework.Logf("SVC PV: %s has required PV node affinity details", pvs[0].Name)
3474+
34503475
ginkgo.By("Wait and verify PVCs are attached to the VM")
34513476
gomega.Expect(waitNverifyPvcsAreAttachedToVmsvcVm(ctx, vmopC, cnsopC, vm,
34523477
[]*v1.PersistentVolumeClaim{pvc})).NotTo(gomega.HaveOccurred())
@@ -3487,20 +3512,18 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
34873512
ginkgo.By("Restore volume from snapshot-1")
34883513
restorepvc1, restorepv1, _ := verifyVolumeRestoreOperation(ctx, client, namespace, storageclass,
34893514
volumeSnapshot1, diskSize, false)
3490-
restorevolHandle1 := restorepv1[0].Spec.CSI.VolumeHandle
3491-
gomega.Expect(restorevolHandle1).NotTo(gomega.BeEmpty())
3515+
if restorepv1 != nil && !latebinding {
3516+
restorevolHandle1 = restorepv1[0].Spec.CSI.VolumeHandle
3517+
gomega.Expect(restorevolHandle1).NotTo(gomega.BeEmpty())
3518+
}
3519+
34923520
defer func() {
34933521
err := fpv.DeletePersistentVolumeClaim(ctx, client, restorepvc1.Name, namespace)
34943522
gomega.Expect(err).NotTo(gomega.HaveOccurred())
34953523
err = e2eVSphere.waitForCNSVolumeToBeDeleted(restorevolHandle1)
34963524
gomega.Expect(err).NotTo(gomega.HaveOccurred())
34973525
}()
34983526

3499-
ginkgo.By("Verify SV PV has has required PV node affinity details")
3500-
_, err = verifyVolumeTopologyForLevel5(restorepv1[0], allowedTopologyHAMap)
3501-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3502-
framework.Logf("SVC PV: %s has required PV node affinity details", restorepv1[0].Name)
3503-
35043527
ginkgo.By("Creating VM")
35053528
vm2 := createVmServiceVmWithPvcsWithZone(ctx, vmopC, namespace, vmClass,
35063529
[]*v1.PersistentVolumeClaim{restorepvc1}, vmi, storageClassName, secretName, topologykey)
@@ -3528,6 +3551,21 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
35283551
vmIp2, err := waitNgetVmsvcVmIp(ctx, vmopC, namespace, vm2.Name)
35293552
gomega.Expect(err).NotTo(gomega.HaveOccurred())
35303553

3554+
if latebinding {
3555+
ginkgo.By("Verify PVC bound state created with latebinding mode storage policy")
3556+
restorepvs1, err := fpv.WaitForPVClaimBoundPhase(ctx, client, []*v1.PersistentVolumeClaim{restorepvc1},
3557+
pollTimeout)
3558+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3559+
restorepv1 := restorepvs1[0]
3560+
restorevolHandle1 = restorepv1.Spec.CSI.VolumeHandle
3561+
gomega.Expect(restorevolHandle1).NotTo(gomega.BeEmpty())
3562+
}
3563+
3564+
ginkgo.By("Verify SV PV has has required PV node affinity details")
3565+
_, err = verifyVolumeTopologyForLevel5(restorepv1[0], allowedTopologyHAMap)
3566+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3567+
framework.Logf("SVC PV: %s has required PV node affinity details", restorepv1[0].Name)
3568+
35313569
ginkgo.By("Wait and verify PVCs are attached to the VM")
35323570
gomega.Expect(waitNverifyPvcsAreAttachedToVmsvcVm(ctx, vmopC, cnsopC, vm2,
35333571
[]*v1.PersistentVolumeClaim{restorepvc1})).NotTo(gomega.HaveOccurred())
@@ -3566,20 +3604,17 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
35663604
ginkgo.By("Restore volume from snapshot-2")
35673605
restorepvc2, restorepv2, _ := verifyVolumeRestoreOperation(ctx, client, namespace, storageclass,
35683606
volumeSnapshot2, diskSize, false)
3569-
restorevolHandle2 := restorepv2[0].Spec.CSI.VolumeHandle
3570-
gomega.Expect(restorevolHandle2).NotTo(gomega.BeEmpty())
3607+
if restorepv1 != nil && !latebinding {
3608+
restorevolHandle2 = restorepv2[0].Spec.CSI.VolumeHandle
3609+
gomega.Expect(restorevolHandle2).NotTo(gomega.BeEmpty())
3610+
}
35713611
defer func() {
35723612
err := fpv.DeletePersistentVolumeClaim(ctx, client, restorepvc2.Name, namespace)
35733613
gomega.Expect(err).NotTo(gomega.HaveOccurred())
35743614
err = e2eVSphere.waitForCNSVolumeToBeDeleted(restorevolHandle2)
35753615
gomega.Expect(err).NotTo(gomega.HaveOccurred())
35763616
}()
35773617

3578-
ginkgo.By("Verify SV PV has has required PV node affinity details")
3579-
_, err = verifyVolumeTopologyForLevel5(restorepv2[0], allowedTopologyHAMap)
3580-
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3581-
framework.Logf("SVC PV: %s has required PV node affinity details", restorepv2[0].Name)
3582-
35833618
ginkgo.By("Creating VM")
35843619
vm3 := createVmServiceVmWithPvcsWithZone(ctx, vmopC, namespace, vmClass,
35853620
[]*v1.PersistentVolumeClaim{restorepvc2}, vmi, storageClassName, secretName, topologykey)
@@ -3607,6 +3642,21 @@ var _ bool = ginkgo.Describe("[snapshot-vmsvc] Snapshot VM Service VM", func() {
36073642
vmIp3, err := waitNgetVmsvcVmIp(ctx, vmopC, namespace, vm3.Name)
36083643
gomega.Expect(err).NotTo(gomega.HaveOccurred())
36093644

3645+
ginkgo.By("Verify SV PV has has required PV node affinity details")
3646+
_, err = verifyVolumeTopologyForLevel5(restorepv2[0], allowedTopologyHAMap)
3647+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3648+
framework.Logf("SVC PV: %s has required PV node affinity details", restorepv2[0].Name)
3649+
3650+
if latebinding {
3651+
ginkgo.By("Verify PVC bound state created with latebinding mode storage policy")
3652+
restorepvs2, err := fpv.WaitForPVClaimBoundPhase(ctx, client, []*v1.PersistentVolumeClaim{restorepvc2},
3653+
pollTimeout)
3654+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
3655+
restorepv2 := restorepvs2[0]
3656+
restorevolHandle2 = restorepv2.Spec.CSI.VolumeHandle
3657+
gomega.Expect(restorevolHandle2).NotTo(gomega.BeEmpty())
3658+
}
3659+
36103660
ginkgo.By("Wait and verify PVCs are attached to the VM")
36113661
gomega.Expect(waitNverifyPvcsAreAttachedToVmsvcVm(ctx, vmopC, cnsopC, vm3,
36123662
[]*v1.PersistentVolumeClaim{restorepvc2})).NotTo(gomega.HaveOccurred())

0 commit comments

Comments
 (0)