e2e: enable generic ephemeral inline volume also for in-tree drivers

Previously, the ephemeral volume test suite was only enabled for CSI
drivers. By splitting the test patterns into those that work for all drivers
and the one for CSI ephemeral inline volumes it becomes possible to
define the former for all drivers and the latter only for CSI.

This increases test coverage, in particular also for migration to
CSI (https://testgrid.k8s.io/provider-gcp-compute-persistent-disk-csi-driver#Migration%20Kubernetes%20Master%20Driver%20Latest).
This commit is contained in:
Patrick Ohly 2021-09-09 09:57:42 +02:00
parent 95390e6476
commit 468acb7418
2 changed files with 29 additions and 7 deletions

View File

@ -68,11 +68,16 @@ var BaseSuites = []func() storageframework.TestSuite{
InitTopologyTestSuite,
InitVolumeStressTestSuite,
InitFsGroupChangePolicyTestSuite,
func() storageframework.TestSuite {
return InitCustomEphemeralTestSuite(GenericEphemeralTestPatterns())
},
}
// CSISuites is a list of storage test suites that work only for CSI drivers
var CSISuites = append(BaseSuites,
InitEphemeralTestSuite,
func() storageframework.TestSuite {
return InitCustomEphemeralTestSuite(CSIEphemeralTestPatterns())
},
InitSnapshottableTestSuite,
InitSnapshottableStressTestSuite,
InitVolumePerformanceTestSuite,

View File

@ -53,9 +53,9 @@ func InitCustomEphemeralTestSuite(patterns []storageframework.TestPattern) stora
}
}
// InitEphemeralTestSuite returns ephemeralTestSuite that implements TestSuite interface
// using test suite default patterns
func InitEphemeralTestSuite() storageframework.TestSuite {
// GenericEphemeralTestPatterns returns the test patterns for
// generic ephemeral inline volumes.
func GenericEphemeralTestPatterns() []storageframework.TestPattern {
genericLateBinding := storageframework.DefaultFsGenericEphemeralVolume
genericLateBinding.Name += " (late-binding)"
genericLateBinding.BindingMode = storagev1.VolumeBindingWaitForFirstConsumer
@ -64,13 +64,30 @@ func InitEphemeralTestSuite() storageframework.TestSuite {
genericImmediateBinding.Name += " (immediate-binding)"
genericImmediateBinding.BindingMode = storagev1.VolumeBindingImmediate
patterns := []storageframework.TestPattern{
storageframework.DefaultFsCSIEphemeralVolume,
return []storageframework.TestPattern{
genericLateBinding,
genericImmediateBinding,
}
}
return InitCustomEphemeralTestSuite(patterns)
// CSIEphemeralTestPatterns returns the test patterns for
// CSI ephemeral inline volumes.
func CSIEphemeralTestPatterns() []storageframework.TestPattern {
return []storageframework.TestPattern{
storageframework.DefaultFsCSIEphemeralVolume,
}
}
// AllEphemeralTestPatterns returns all pre-defined test patterns for
// generic and CSI ephemeral inline volumes.
func AllEphemeralTestPatterns() []storageframework.TestPattern {
return append(GenericEphemeralTestPatterns(), CSIEphemeralTestPatterns()...)
}
// InitEphemeralTestSuite returns ephemeralTestSuite that implements TestSuite interface
// using test suite default patterns
func InitEphemeralTestSuite() storageframework.TestSuite {
return InitCustomEphemeralTestSuite(AllEphemeralTestPatterns())
}
func (p *ephemeralTestSuite) GetTestSuiteInfo() storageframework.TestSuiteInfo {