mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 10:20:51 +00:00
Merge pull request #109580 from dobsonj/offline-expansion-test-flag
e2e: add storage capability for offline volume expansion
This commit is contained in:
commit
3739175e1f
@ -147,6 +147,7 @@ func InitHostPathCSIDriver() storageframework.TestDriver {
|
||||
storageframework.CapBlock: true,
|
||||
storageframework.CapPVCDataSource: true,
|
||||
storageframework.CapControllerExpansion: true,
|
||||
storageframework.CapOfflineExpansion: true,
|
||||
storageframework.CapOnlineExpansion: true,
|
||||
storageframework.CapSingleNodeVolume: true,
|
||||
|
||||
@ -810,6 +811,7 @@ func InitGcePDCSIDriver() storageframework.TestDriver {
|
||||
storageframework.CapVolumeLimits: false,
|
||||
storageframework.CapTopology: true,
|
||||
storageframework.CapControllerExpansion: true,
|
||||
storageframework.CapOfflineExpansion: true,
|
||||
storageframework.CapOnlineExpansion: true,
|
||||
storageframework.CapNodeExpansion: true,
|
||||
storageframework.CapSnapshotDataSource: true,
|
||||
|
@ -1251,6 +1251,7 @@ func InitGcePdDriver() storageframework.TestDriver {
|
||||
storageframework.CapExec: true,
|
||||
storageframework.CapMultiPODs: true,
|
||||
storageframework.CapControllerExpansion: true,
|
||||
storageframework.CapOfflineExpansion: true,
|
||||
storageframework.CapOnlineExpansion: true,
|
||||
storageframework.CapNodeExpansion: true,
|
||||
// GCE supports volume limits, but the test creates large
|
||||
@ -1702,6 +1703,7 @@ func InitAwsDriver() storageframework.TestDriver {
|
||||
storageframework.CapMultiPODs: true,
|
||||
storageframework.CapControllerExpansion: true,
|
||||
storageframework.CapNodeExpansion: true,
|
||||
storageframework.CapOfflineExpansion: true,
|
||||
storageframework.CapOnlineExpansion: true,
|
||||
// AWS supports volume limits, but the test creates large
|
||||
// number of volumes and times out test suites.
|
||||
|
9
test/e2e/storage/external/external.go
vendored
9
test/e2e/storage/external/external.go
vendored
@ -203,13 +203,20 @@ func loadDriverDefinition(filename string) (*driverDefinition, error) {
|
||||
return nil, fmt.Errorf("%s: %w", filename, err)
|
||||
}
|
||||
|
||||
// to ensure backward compatibility if controller expansion is enabled then set online expansion to true
|
||||
// To ensure backward compatibility: if controller expansion is enabled,
|
||||
// then set both online and offline expansion to true
|
||||
if _, ok := driver.GetDriverInfo().Capabilities[storageframework.CapOnlineExpansion]; !ok &&
|
||||
driver.GetDriverInfo().Capabilities[storageframework.CapControllerExpansion] {
|
||||
caps := driver.DriverInfo.Capabilities
|
||||
caps[storageframework.CapOnlineExpansion] = true
|
||||
driver.DriverInfo.Capabilities = caps
|
||||
}
|
||||
if _, ok := driver.GetDriverInfo().Capabilities[storageframework.CapOfflineExpansion]; !ok &&
|
||||
driver.GetDriverInfo().Capabilities[storageframework.CapControllerExpansion] {
|
||||
caps := driver.DriverInfo.Capabilities
|
||||
caps[storageframework.CapOfflineExpansion] = true
|
||||
driver.DriverInfo.Capabilities = caps
|
||||
}
|
||||
return driver, nil
|
||||
}
|
||||
|
||||
|
@ -166,7 +166,15 @@ const (
|
||||
CapRWX Capability = "RWX" // support ReadWriteMany access modes
|
||||
CapControllerExpansion Capability = "controllerExpansion" // support volume expansion for controller
|
||||
CapNodeExpansion Capability = "nodeExpansion" // support volume expansion for node
|
||||
CapOnlineExpansion Capability = "onlineExpansion" // supports online volume expansion
|
||||
|
||||
// offlineExpansion and onlineExpansion both default to true when
|
||||
// controllerExpansion is true. The only reason to set offlineExpansion
|
||||
// to false is when a CSI driver can only expand a volume while it's
|
||||
// attached to a pod. Conversely, onlineExpansion can be set to false
|
||||
// if the driver can only expand a volume while it is detached.
|
||||
CapOfflineExpansion Capability = "offlineExpansion" // supports offline volume expansion (default: true)
|
||||
CapOnlineExpansion Capability = "onlineExpansion" // supports online volume expansion (default: true)
|
||||
|
||||
CapVolumeLimits Capability = "volumeLimits" // support volume limits (can be *very* slow)
|
||||
CapSingleNodeVolume Capability = "singleNodeVolume" // support volume that can run on single node (like hostpath)
|
||||
CapTopology Capability = "topology" // support topology
|
||||
|
@ -177,6 +177,10 @@ func (v *volumeExpandTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
init()
|
||||
defer cleanup()
|
||||
|
||||
if !driver.GetDriverInfo().Capabilities[storageframework.CapOfflineExpansion] {
|
||||
e2eskipper.Skipf("Driver %q does not support offline volume expansion - skipping", driver.GetDriverInfo().Name)
|
||||
}
|
||||
|
||||
var err error
|
||||
ginkgo.By("Creating a pod with dynamically provisioned volume")
|
||||
podConfig := e2epod.Config{
|
||||
|
Loading…
Reference in New Issue
Block a user