From 8c175344294cccb2c06342605e3f2cd6a91d60c7 Mon Sep 17 00:00:00 2001 From: Jiawei Wang Date: Tue, 1 Dec 2020 16:53:13 -0800 Subject: [PATCH] Copy the same storageclass instead of constructing one in external test --- test/e2e/storage/external/external.go | 2 +- test/e2e/storage/testsuites/base.go | 4 +--- test/e2e/storage/testsuites/driveroperations.go | 10 ++++++++++ test/e2e/storage/testsuites/volume_expand.go | 4 +++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/test/e2e/storage/external/external.go b/test/e2e/storage/external/external.go index fbd7678f5c1..88ae9b5bb64 100644 --- a/test/e2e/storage/external/external.go +++ b/test/e2e/storage/external/external.go @@ -299,7 +299,7 @@ func (d *driverDefinition) GetDynamicProvisionStorageClass(e2econfig *testsuites // reconsidered if we eventually need to move in-tree storage tests out. sc.Parameters["csi.storage.k8s.io/fstype"] = fsType } - return testsuites.GetStorageClass(sc.Provisioner, sc.Parameters, sc.VolumeBindingMode, f.Namespace.Name, "e2e-sc") + return testsuites.CopyStorageClass(sc, f.Namespace.Name, "e2e-sc") } func loadSnapshotClass(filename string) (*unstructured.Unstructured, error) { diff --git a/test/e2e/storage/testsuites/base.go b/test/e2e/storage/testsuites/base.go index 96d8fc922a4..f64367af167 100644 --- a/test/e2e/storage/testsuites/base.go +++ b/test/e2e/storage/testsuites/base.go @@ -242,9 +242,7 @@ func CreateVolumeResource(driver TestDriver, config *PerTestConfig, pattern test if pattern.BindingMode != "" { r.Sc.VolumeBindingMode = &pattern.BindingMode } - if pattern.AllowExpansion != false { - r.Sc.AllowVolumeExpansion = &pattern.AllowExpansion - } + r.Sc.AllowVolumeExpansion = &pattern.AllowExpansion ginkgo.By("creating a StorageClass " + r.Sc.Name) diff --git a/test/e2e/storage/testsuites/driveroperations.go b/test/e2e/storage/testsuites/driveroperations.go index e2d41966faf..0ec560da73e 100644 --- a/test/e2e/storage/testsuites/driveroperations.go +++ b/test/e2e/storage/testsuites/driveroperations.go @@ -54,6 +54,16 @@ func CreateVolume(driver TestDriver, config *PerTestConfig, volType testpatterns return nil } +// CopyStorageClass constructs a new StorageClass instance +// with a unique name that is based on namespace + suffix +// using the same storageclass setting from the parameter +func CopyStorageClass(sc *storagev1.StorageClass, ns string, suffix string) *storagev1.StorageClass { + copy := sc.DeepCopy() + copy.ObjectMeta.Name = names.SimpleNameGenerator.GenerateName(ns + "-" + suffix) + copy.ResourceVersion = "" + return copy +} + // GetStorageClass constructs a new StorageClass instance // with a unique name that is based on namespace + suffix. func GetStorageClass( diff --git a/test/e2e/storage/testsuites/volume_expand.go b/test/e2e/storage/testsuites/volume_expand.go index d6ebac20e96..d886f46cbb3 100644 --- a/test/e2e/storage/testsuites/volume_expand.go +++ b/test/e2e/storage/testsuites/volume_expand.go @@ -156,7 +156,9 @@ func (v *volumeExpandTestSuite) DefineTests(driver TestDriver, pattern testpatte defer cleanup() var err error - gomega.Expect(l.resource.Sc.AllowVolumeExpansion).To(gomega.BeNil()) + gomega.Expect(l.resource.Sc.AllowVolumeExpansion).NotTo(gomega.BeNil()) + allowVolumeExpansion := *l.resource.Sc.AllowVolumeExpansion + gomega.Expect(allowVolumeExpansion).To(gomega.BeFalse()) ginkgo.By("Expanding non-expandable pvc") currentPvcSize := l.resource.Pvc.Spec.Resources.Requests[v1.ResourceStorage] newSize := currentPvcSize.DeepCopy()