diff --git a/tests/e2e/csi_snapshot_basic.go b/tests/e2e/csi_snapshot_basic.go index 083f1101f8..b17f93bf5c 100644 --- a/tests/e2e/csi_snapshot_basic.go +++ b/tests/e2e/csi_snapshot_basic.go @@ -3103,7 +3103,7 @@ var _ = ginkgo.Describe("Volume Snapshot Basic Test", func() { 6. Run resize and it should succeed 7. Cleanup the pvc */ - ginkgo.It("[block-vanilla-snapshot] [tkg-snapshot][supervisor-snapshot] Volume offline resize of a volume "+ + ginkgo.It("[block-vanilla-snapshot] [tkg-snapshot][supervisor-snapshot] TC12Volume offline resize of a volume "+ "having snapshots", ginkgo.Label(p0, block, vanilla, tkg, snapshot, stable, wcp, negative), func() { ctx, cancel := context.WithCancel(context.Background()) @@ -4353,7 +4353,7 @@ var _ = ginkgo.Describe("Volume Snapshot Basic Test", func() { 5. Validate creation of additional snapshots beyond the configured max-snapshots per volume fails - check error returned */ - ginkgo.It("[block-vanilla-snapshot] TC11Max Snapshots per volume test", ginkgo.Label(p1, block, + ginkgo.It("[block-vanilla-snapshot] Max Snapshots per volume test", ginkgo.Label(p1, block, vanilla, snapshot), func() { ctx, cancel := context.WithCancel(context.Background()) @@ -6883,28 +6883,29 @@ var _ = ginkgo.Describe("Volume Snapshot Basic Test", func() { 9. Create new snapshots on restore volume and verify it succeeds 10. Run cleanup: Delete snapshots, restored-volumes, pods */ - ginkgo.It("[tkg-snapshot][supervisor-snapshot] Max Snapshots per volume on wcp and gc", ginkgo.Label( + ginkgo.It("[tkg-snapshot][supervisor-snapshot] TC11Max Snapshots per volume on wcp and gc", ginkgo.Label( p1, snapshot, tkg, newTest), func() { ctx, cancel := context.WithCancel(context.Background()) defer cancel() var volumeSnapshots []*snapV1.VolumeSnapshot - var volumeSnapshotContents []*snapV1.VolumeSnapshotContent - var volHandle string + var snapshotIds []string + snapDeleted := false + noOfSnapshotToCreate := 33 - ginkgo.By("Get storage class") - storageclass, err := client.StorageV1().StorageClasses().Get(ctx, storagePolicyName, metav1.GetOptions{}) - if !apierrors.IsNotFound(err) { - gomega.Expect(err).NotTo(gomega.HaveOccurred()) - } + ginkgo.By("Create storage class") + storageclass, err := createStorageClass(client, scParameters, nil, "", "", false, scName) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) defer func() { - err := client.StorageV1().StorageClasses().Delete(ctx, storageclass.Name, *metav1.NewDeleteOptions(0)) - gomega.Expect(err).NotTo(gomega.HaveOccurred()) + if vanillaCluster { + err := client.StorageV1().StorageClasses().Delete(ctx, storageclass.Name, *metav1.NewDeleteOptions(0)) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + } }() ginkgo.By("Create PVC") - pvclaim, persistentVolumes := createPVCAndQueryVolumeInCNS(ctx, client, namespace, nil, "", + pvclaim, persistentVolumes := createPVCAndQueryVolumeInCNS(ctx, client, namespace, labelsMap, "", diskSize, storageclass, true) volHandle = persistentVolumes[0].Spec.CSI.VolumeHandle if guestCluster { @@ -6929,31 +6930,34 @@ var _ = ginkgo.Describe("Volume Snapshot Basic Test", func() { } }() - for i := 0; i < 33; i++ { + for i := 0; i < noOfSnapshotToCreate; i++ { ginkgo.By(fmt.Sprintf("Creating snapshot no: %d for pvc %s", i+1, pvclaim.Name)) - volumeSnapshot, snapshotContent, _, - _, _, _, err := createDynamicVolumeSnapshot(ctx, namespace, snapc, volumeSnapshotClass, + volumeSnapshot, _, _, _, snapshotId, _, err := createDynamicVolumeSnapshot(ctx, namespace, snapc, volumeSnapshotClass, pvclaim, volHandle, diskSize, true) gomega.Expect(err).NotTo(gomega.HaveOccurred()) volumeSnapshots = append(volumeSnapshots, volumeSnapshot) - volumeSnapshotContents = append(volumeSnapshotContents, snapshotContent) + snapshotIds = append(snapshotIds, snapshotId) } defer func() { - for i := 0; i < 33; i++ { - err = deleteVolumeSnapshotContent(ctx, volumeSnapshotContents[i], snapc, pandoraSyncWaitTime) - gomega.Expect(err).NotTo(gomega.HaveOccurred()) - - framework.Logf("Deleting volume snapshot") - deleteVolumeSnapshotWithPandoraWait(ctx, snapc, namespace, volumeSnapshots[i].Name, pandoraSyncWaitTime) - - framework.Logf("Wait till the volume snapshot is deleted") - err = waitForVolumeSnapshotContentToBeDeletedWithPandoraWait(ctx, snapc, - *volumeSnapshots[i].Status.BoundVolumeSnapshotContentName, pandoraSyncWaitTime) - gomega.Expect(err).NotTo(gomega.HaveOccurred()) + if !snapDeleted { + for i := 0; i < noOfSnapshotToCreate; i++ { + ginkgo.By("Delete dynamic volume snapshot") + _, _, err = deleteVolumeSnapshot(ctx, snapc, namespace, + volumeSnapshots[i], pandoraSyncWaitTime, volHandle, snapshotIds[i]) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + } } }() + + for i := 0; i < noOfSnapshotToCreate; i++ { + ginkgo.By("Delete dynamic volume snapshot") + _, _, err = deleteVolumeSnapshot(ctx, snapc, namespace, + volumeSnapshots[i], pandoraSyncWaitTime, volHandle, snapshotIds[i]) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + } + snapDeleted = true }) /*