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..f940f178af999 100644 --- a/test/e2e/storage/testsuites/snapshot-metadata.go +++ b/test/e2e/storage/testsuites/snapshot-metadata.go @@ -163,7 +163,7 @@ const ( sourceDevicePvcName = "source-device" targetDevicePvcName = "target-device" installToolContainerName = "install-tool" - installToolImage = "golang:1.25.7" + installToolImage = "golang:1.26.1" installToolCommand = "/bin/sh -c 'go install github.com/kubernetes-csi/external-snapshot-metadata/tools/snapshot-metadata-verifier@main && cp $(go env GOPATH)/bin/snapshot-metadata-verifier /output'" sharedVolumeName = "shared-volume" sharedVolumeMountPath = "/tools" @@ -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) {