From 08757014feff9c11e7f94986df1746dd25c964c9 Mon Sep 17 00:00:00 2001 From: Alexis MacAskill Date: Wed, 8 Dec 2021 18:08:28 +0000 Subject: [PATCH] add back in volume cloning tests --- test/k8s-integration/config/test-config-template.in | 5 +++++ test/k8s-integration/driver-config.go | 10 ++++++++++ test/k8s-integration/main.go | 7 +------ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/test/k8s-integration/config/test-config-template.in b/test/k8s-integration/config/test-config-template.in index 7f08565a1..b88ea90a0 100644 --- a/test/k8s-integration/config/test-config-template.in +++ b/test/k8s-integration/config/test-config-template.in @@ -4,6 +4,11 @@ StorageClass: SnapshotClass: FromFile: {{ .SnapshotClassFile }} {{end}} +{{if .Timeouts}} +Timeouts: + {{ range $key, $value := .Timeouts }}{{ $key }}: {{ $value }} + {{ end }} +{{end}} DriverInfo: Name: csi-gcepd-{{.StorageClass}} SupportedFsType: diff --git a/test/k8s-integration/driver-config.go b/test/k8s-integration/driver-config.go index 97d7289e6..958a3417a 100644 --- a/test/k8s-integration/driver-config.go +++ b/test/k8s-integration/driver-config.go @@ -17,12 +17,18 @@ type driverConfig struct { SupportedFsType []string MinimumVolumeSize string NumAllowedTopologies int + Timeouts map[string]string } const ( testConfigDir = "test/k8s-integration/config" configTemplateFile = "test-config-template.in" configFile = "test-config.yaml" + // configurable timeouts for the k8s e2e testsuites + dataSourceProvisionTimeout = "480s" + + // These are keys for the configurable timeout map. + dataSourceProvisionTimeoutKey = "DataSourceProvision" ) // generateDriverConfigFile loads a testdriver config template and creates a file @@ -123,6 +129,9 @@ func generateDriverConfigFile(testParams *testParameters, storageClassFile strin minimumVolumeSize = "200Gi" numAllowedTopologies = 2 } + timeouts := map[string]string{ + dataSourceProvisionTimeoutKey: dataSourceProvisionTimeout, + } params := driverConfig{ StorageClassFile: filepath.Join(testParams.pkgDir, testConfigDir, storageClassFile), StorageClass: storageClassFile[:strings.LastIndex(storageClassFile, ".")], @@ -131,6 +140,7 @@ func generateDriverConfigFile(testParams *testParameters, storageClassFile strin Capabilities: caps, MinimumVolumeSize: minimumVolumeSize, NumAllowedTopologies: numAllowedTopologies, + Timeouts: timeouts, } // Write config file diff --git a/test/k8s-integration/main.go b/test/k8s-integration/main.go index a456e1559..db9d2ddee 100644 --- a/test/k8s-integration/main.go +++ b/test/k8s-integration/main.go @@ -543,9 +543,7 @@ func generateGCETestSkip(testParams *testParameters) string { if testParams.platform == "windows" { skipString = skipString + "|\\[LinuxOnly\\]" } - // Volume cloning has timeouts due to GCE disk cloning rate limits, and operation serialization - // race conditions where the cloning begins while the source disk is still being created. - skipString = skipString + "|provisioning\\sshould\\sprovision\\sstorage\\swith\\spvc\\sdata\\ssource[^|]*" + return skipString } @@ -588,9 +586,6 @@ func generateGKETestSkip(testParams *testParameters) string { (!testParams.useGKEManagedDriver && (*curVer).lessThan(mustParseVersion("1.17.0"))) { skipString = skipString + "|VolumeSnapshotDataSource" } - // Volume cloning has timeouts due to GCE disk cloning rate limits, and operation serialization - // race conditions where the cloning begins while the source disk is still being created. - skipString = skipString + "|provisioning\\sshould\\sprovision\\sstorage\\swith\\spvc\\sdata\\ssource[^|]*" return skipString }