diff --git a/test/e2e/storage/drivers/csi.go b/test/e2e/storage/drivers/csi.go index d25f3a367483c..781a34185d999 100644 --- a/test/e2e/storage/drivers/csi.go +++ b/test/e2e/storage/drivers/csi.go @@ -174,6 +174,11 @@ func InitHostPathCSIDriver() storageframework.TestDriver { // added when patching the deployment. storageframework.CapVolumeLimits: true, } + // DO NOT MERGE: pre-merge testing functionality when this env var is true in openshift/release + err := os.Setenv("CSI_PROW_ENABLE_SNAPSHOT_METADATA", "true") + if err != nil { + framework.Failf("failed to set CSI_PROW_ENABLE_SNAPSHOT_METADATA: %v", err) + } // TODO: It can be removed after the VolumeGroupSnapshot feature is default enabled if os.Getenv("CSI_PROW_ENABLE_GROUP_SNAPSHOT") == "true" { capabilities[storageframework.CapVolumeGroupSnapshot] = true @@ -376,6 +381,22 @@ func (h *hostpathCSIDriver) PrepareTest(ctx context.Context, f *framework.Framew framework.Failf("deploying %s driver: %v", h.driverInfo.Name, err) } + if h.driverInfo.Capabilities[storageframework.CapSnapshotMetadata] { + // Create snapshot metadata resources (CRD is already created by test runner script) + ginkgo.By("Creating snapshot metadata resources") + err = utils.CreateSnapshotMetadataResources(ctx, f, config.Driver.GetDriverInfo().Name, driverns) + if err != nil { + framework.Failf("failed to create snapshot metadata resources: %v", err) + } + ginkgo.DeferCleanup(func(ctx context.Context) { + ginkgo.By("Cleaning up snapshot metadata resources") + err = utils.CleanupSnapshotMetadataResources(ctx, f, config.Driver.GetDriverInfo().Name, driverns) + if err != nil { + framework.Logf("Warning: failed to cleanup snapshot metadata resources: %v", err) + } + }) + } + cleanupFunc := generateDriverCleanupFunc( f, h.driverInfo.Name, diff --git a/test/e2e/storage/testsuites/snapshot-metadata.go b/test/e2e/storage/testsuites/snapshot-metadata.go index b864ba13dccdc..3bd24554142d6 100644 --- a/test/e2e/storage/testsuites/snapshot-metadata.go +++ b/test/e2e/storage/testsuites/snapshot-metadata.go @@ -307,11 +307,6 @@ func (s *snapshotMetadataTestSuite) DefineTests(driver storageframework.TestDriv config = smDriver.PrepareTest(ctx, f) - // Create snapshot metadata resources (CRD is already created by test runner script) - ginkgo.By("Creating snapshot metadata resources") - err = storageutils.CreateSnapshotMetadataResources(ctx, f, config.Driver.GetDriverInfo().Name, config.DriverNamespace.Name) - framework.ExpectNoError(err, "Failed to create snapshot metadata resources") - pattern.VolMode = v1.PersistentVolumeBlock volume = storageframework.CreateVolumeResource(ctx, smDriver, config, pattern, s.GetTestSuiteInfo().SupportedSizeRange) testPVC = volume.Pvc @@ -359,14 +354,6 @@ func (s *snapshotMetadataTestSuite) DefineTests(driver storageframework.TestDriv backupClientPod = nil } - // Cleanup snapshot metadata resources - if config != nil { - ginkgo.By("Cleaning up snapshot metadata resources") - err := storageutils.CleanupSnapshotMetadataResources(ctx, f, config.Driver.GetDriverInfo().Name, config.DriverNamespace.Name) - if err != nil { - framework.Logf("Warning: failed to cleanup snapshot metadata resources: %v", err) - } - } }) ginkgo.It("should verify GetMetadataDelta", func(ctx context.Context) {