mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 18:02:01 +00:00
e2e storage: eliminate explicit test driver cleanup
Cleanup can be handled inside the setup code with ginkgo.DeferCleanup. This simplifies the code.
This commit is contained in:
parent
83415e5c9e
commit
d8d3dc9476
@ -181,8 +181,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
|
||||
}
|
||||
|
||||
m.driver = drivers.InitMockCSIDriver(driverOpts)
|
||||
config, testCleanup := m.driver.PrepareTest(f)
|
||||
m.testCleanups = append(m.testCleanups, testCleanup)
|
||||
config := m.driver.PrepareTest(f)
|
||||
m.config = config
|
||||
m.provisioner = config.GetUniqueDriverName()
|
||||
|
||||
|
@ -206,7 +206,7 @@ func (h *hostpathCSIDriver) GetSnapshotClass(config *storageframework.PerTestCon
|
||||
return utils.GenerateSnapshotClassSpec(snapshotter, parameters, ns)
|
||||
}
|
||||
|
||||
func (h *hostpathCSIDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (h *hostpathCSIDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
// Create secondary namespace which will be used for creating driver
|
||||
driverNamespace := utils.CreateDriverNamespace(f)
|
||||
driverns := driverNamespace.Name
|
||||
@ -285,8 +285,9 @@ func (h *hostpathCSIDriver) PrepareTest(f *framework.Framework) (*storageframewo
|
||||
driverns,
|
||||
cleanup,
|
||||
cancelLogging)
|
||||
ginkgo.DeferCleanup(cleanupFunc)
|
||||
|
||||
return config, cleanupFunc
|
||||
return config
|
||||
}
|
||||
|
||||
// mockCSI
|
||||
@ -531,7 +532,7 @@ func (m *mockCSIDriver) GetSnapshotClass(config *storageframework.PerTestConfig,
|
||||
return utils.GenerateSnapshotClassSpec(snapshotter, parameters, ns)
|
||||
}
|
||||
|
||||
func (m *mockCSIDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (m *mockCSIDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
m.clientSet = f.ClientSet
|
||||
|
||||
// Create secondary namespace which will be used for creating driver
|
||||
@ -689,12 +690,12 @@ func (m *mockCSIDriver) PrepareTest(f *framework.Framework) (*storageframework.P
|
||||
cleanup,
|
||||
cancelLogging)
|
||||
|
||||
cleanupFunc := func() {
|
||||
ginkgo.DeferCleanup(func() {
|
||||
embeddedCleanup()
|
||||
driverCleanupFunc()
|
||||
}
|
||||
})
|
||||
|
||||
return config, cleanupFunc
|
||||
return config
|
||||
}
|
||||
|
||||
func (m *mockCSIDriver) interceptGRPC(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
|
||||
@ -860,7 +861,7 @@ func (g *gcePDCSIDriver) GetSnapshotClass(config *storageframework.PerTestConfig
|
||||
return utils.GenerateSnapshotClassSpec(snapshotter, parameters, ns)
|
||||
}
|
||||
|
||||
func (g *gcePDCSIDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (g *gcePDCSIDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
testns := f.Namespace.Name
|
||||
cfg := &storageframework.PerTestConfig{
|
||||
Driver: g,
|
||||
@ -870,7 +871,7 @@ func (g *gcePDCSIDriver) PrepareTest(f *framework.Framework) (*storageframework.
|
||||
|
||||
if framework.ProviderIs("gke") {
|
||||
framework.Logf("The csi gce-pd driver is automatically installed in GKE. Skipping driver installation.")
|
||||
return cfg, func() {}
|
||||
return cfg
|
||||
}
|
||||
|
||||
ginkgo.By("deploying csi gce-pd driver")
|
||||
@ -917,13 +918,14 @@ func (g *gcePDCSIDriver) PrepareTest(f *framework.Framework) (*storageframework.
|
||||
driverns,
|
||||
cleanup,
|
||||
cancelLogging)
|
||||
ginkgo.DeferCleanup(cleanupFunc)
|
||||
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: g,
|
||||
Prefix: "gcepd",
|
||||
Framework: f,
|
||||
DriverNamespace: driverNamespace,
|
||||
}, cleanupFunc
|
||||
}
|
||||
}
|
||||
|
||||
// WaitForCSIDriverRegistrationOnAllNodes waits for the CSINode object to be updated
|
||||
|
@ -157,7 +157,7 @@ func (n *nfsDriver) GetDynamicProvisionStorageClass(config *storageframework.Per
|
||||
return storageframework.GetStorageClass(provisioner, parameters, nil, ns)
|
||||
}
|
||||
|
||||
func (n *nfsDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (n *nfsDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
cs := f.ClientSet
|
||||
ns := f.Namespace
|
||||
n.externalPluginName = fmt.Sprintf("example.com/nfs-%s", ns.Name)
|
||||
@ -167,6 +167,10 @@ func (n *nfsDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTe
|
||||
err := e2eauth.BindClusterRole(cs.RbacV1(), "cluster-admin", ns.Name,
|
||||
rbacv1.Subject{Kind: rbacv1.ServiceAccountKind, Namespace: ns.Name, Name: "default"})
|
||||
framework.ExpectNoError(err)
|
||||
ginkgo.DeferCleanup(func(ctx context.Context) {
|
||||
clusterRoleBindingName := ns.Name + "--" + "cluster-admin"
|
||||
cs.RbacV1().ClusterRoleBindings().Delete(ctx, clusterRoleBindingName, *metav1.NewDeleteOptions(0))
|
||||
})
|
||||
|
||||
err = e2eauth.WaitForAuthorizationUpdate(cs.AuthorizationV1(),
|
||||
serviceaccount.MakeUsername(ns.Name, "default"),
|
||||
@ -175,16 +179,15 @@ func (n *nfsDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTe
|
||||
|
||||
ginkgo.By("creating an external dynamic provisioner pod")
|
||||
n.externalProvisionerPod = utils.StartExternalProvisioner(cs, ns.Name, n.externalPluginName)
|
||||
ginkgo.DeferCleanup(func() {
|
||||
framework.ExpectNoError(e2epod.DeletePodWithWait(cs, n.externalProvisionerPod))
|
||||
})
|
||||
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: n,
|
||||
Prefix: "nfs",
|
||||
Framework: f,
|
||||
}, func() {
|
||||
framework.ExpectNoError(e2epod.DeletePodWithWait(cs, n.externalProvisionerPod))
|
||||
clusterRoleBindingName := ns.Name + "--" + "cluster-admin"
|
||||
cs.RbacV1().ClusterRoleBindings().Delete(context.TODO(), clusterRoleBindingName, *metav1.NewDeleteOptions(0))
|
||||
}
|
||||
Driver: n,
|
||||
Prefix: "nfs",
|
||||
Framework: f,
|
||||
}
|
||||
}
|
||||
|
||||
func (n *nfsDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -307,12 +310,12 @@ func (i *iSCSIDriver) GetPersistentVolumeSource(readOnly bool, fsType string, e2
|
||||
return &pvSource, nil
|
||||
}
|
||||
|
||||
func (i *iSCSIDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (i *iSCSIDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: i,
|
||||
Prefix: "iscsi",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
func (i *iSCSIDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -500,12 +503,12 @@ func (r *rbdDriver) GetPersistentVolumeSource(readOnly bool, fsType string, e2ev
|
||||
return &pvSource, nil
|
||||
}
|
||||
|
||||
func (r *rbdDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (r *rbdDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: r,
|
||||
Prefix: "rbd",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
func (r *rbdDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -614,12 +617,12 @@ func (c *cephFSDriver) GetPersistentVolumeSource(readOnly bool, fsType string, e
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (c *cephFSDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (c *cephFSDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: c,
|
||||
Prefix: "cephfs",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
func (c *cephFSDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -690,12 +693,12 @@ func (h *hostPathDriver) GetVolumeSource(readOnly bool, fsType string, e2evolume
|
||||
}
|
||||
}
|
||||
|
||||
func (h *hostPathDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (h *hostPathDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: h,
|
||||
Prefix: "hostpath",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
func (h *hostPathDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -770,12 +773,12 @@ func (h *hostPathSymlinkDriver) GetVolumeSource(readOnly bool, fsType string, e2
|
||||
}
|
||||
}
|
||||
|
||||
func (h *hostPathSymlinkDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (h *hostPathSymlinkDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: h,
|
||||
Prefix: "hostpathsymlink",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
func (h *hostPathSymlinkDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -911,12 +914,12 @@ func (e *emptydirDriver) CreateVolume(config *storageframework.PerTestConfig, vo
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *emptydirDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (e *emptydirDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: e,
|
||||
Prefix: "emptydir",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
// GCE
|
||||
@ -1062,7 +1065,7 @@ func (g *gcePdDriver) GetDynamicProvisionStorageClass(config *storageframework.P
|
||||
return storageframework.GetStorageClass(provisioner, parameters, &delayedBinding, ns)
|
||||
}
|
||||
|
||||
func (g *gcePdDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (g *gcePdDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
config := &storageframework.PerTestConfig{
|
||||
Driver: g,
|
||||
Prefix: "gcepd",
|
||||
@ -1076,7 +1079,7 @@ func (g *gcePdDriver) PrepareTest(f *framework.Framework) (*storageframework.Per
|
||||
},
|
||||
}
|
||||
}
|
||||
return config, func() {}
|
||||
return config
|
||||
|
||||
}
|
||||
|
||||
@ -1209,21 +1212,22 @@ func (v *vSphereDriver) GetDynamicProvisionStorageClass(config *storageframework
|
||||
return storageframework.GetStorageClass(provisioner, parameters, nil, ns)
|
||||
}
|
||||
|
||||
func (v *vSphereDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: v,
|
||||
Prefix: "vsphere",
|
||||
Framework: f,
|
||||
}, func() {
|
||||
// Driver Cleanup function
|
||||
// Logout each vSphere client connection to prevent session leakage
|
||||
nodes := vspheretest.GetReadySchedulableNodeInfos()
|
||||
for _, node := range nodes {
|
||||
if node.VSphere.Client != nil {
|
||||
node.VSphere.Client.Logout(context.TODO())
|
||||
}
|
||||
func (v *vSphereDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
ginkgo.DeferCleanup(func() {
|
||||
// Driver Cleanup function
|
||||
// Logout each vSphere client connection to prevent session leakage
|
||||
nodes := vspheretest.GetReadySchedulableNodeInfos()
|
||||
for _, node := range nodes {
|
||||
if node.VSphere.Client != nil {
|
||||
node.VSphere.Client.Logout(context.TODO())
|
||||
}
|
||||
}
|
||||
})
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: v,
|
||||
Prefix: "vsphere",
|
||||
Framework: f,
|
||||
}
|
||||
}
|
||||
|
||||
func (v *vSphereDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -1354,12 +1358,12 @@ func (a *azureDiskDriver) GetDynamicProvisionStorageClass(config *storageframewo
|
||||
return storageframework.GetStorageClass(provisioner, parameters, &delayedBinding, ns)
|
||||
}
|
||||
|
||||
func (a *azureDiskDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (a *azureDiskDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: a,
|
||||
Prefix: "azure",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
func (a *azureDiskDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -1492,7 +1496,7 @@ func (a *awsDriver) GetDynamicProvisionStorageClass(config *storageframework.Per
|
||||
return storageframework.GetStorageClass(provisioner, parameters, &delayedBinding, ns)
|
||||
}
|
||||
|
||||
func (a *awsDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (a *awsDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
config := &storageframework.PerTestConfig{
|
||||
Driver: a,
|
||||
Prefix: "aws",
|
||||
@ -1506,7 +1510,7 @@ func (a *awsDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTe
|
||||
},
|
||||
}
|
||||
}
|
||||
return config, func() {}
|
||||
return config
|
||||
}
|
||||
|
||||
func (a *awsDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -1628,7 +1632,7 @@ func (l *localDriver) GetDriverInfo() *storageframework.DriverInfo {
|
||||
func (l *localDriver) SkipUnsupportedTest(pattern storageframework.TestPattern) {
|
||||
}
|
||||
|
||||
func (l *localDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (l *localDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
var err error
|
||||
l.node, err = e2enode.GetRandomReadySchedulableNode(f.ClientSet)
|
||||
framework.ExpectNoError(err)
|
||||
@ -1650,14 +1654,13 @@ func (l *localDriver) PrepareTest(f *framework.Framework) (*storageframework.Per
|
||||
}
|
||||
}
|
||||
|
||||
ginkgo.DeferCleanup(l.hostExec.Cleanup)
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: l,
|
||||
Prefix: "local",
|
||||
Framework: f,
|
||||
ClientNodeSelection: e2epod.NodeSelection{Name: l.node.Name},
|
||||
}, func() {
|
||||
l.hostExec.Cleanup()
|
||||
}
|
||||
Driver: l,
|
||||
Prefix: "local",
|
||||
Framework: f,
|
||||
ClientNodeSelection: e2epod.NodeSelection{Name: l.node.Name},
|
||||
}
|
||||
}
|
||||
|
||||
func (l *localDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
@ -1848,12 +1851,12 @@ func (a *azureFileDriver) GetDynamicProvisionStorageClass(config *storageframewo
|
||||
return storageframework.GetStorageClass(provisioner, parameters, &immediateBinding, ns)
|
||||
}
|
||||
|
||||
func (a *azureFileDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (a *azureFileDriver) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
return &storageframework.PerTestConfig{
|
||||
Driver: a,
|
||||
Prefix: "azure-file",
|
||||
Framework: f,
|
||||
}, func() {}
|
||||
}
|
||||
}
|
||||
|
||||
func (a *azureFileDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {
|
||||
|
4
test/e2e/storage/external/external.go
vendored
4
test/e2e/storage/external/external.go
vendored
@ -415,12 +415,12 @@ func (d *driverDefinition) GetCSIDriverName(e2econfig *storageframework.PerTestC
|
||||
return d.DriverInfo.Name
|
||||
}
|
||||
|
||||
func (d *driverDefinition) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
|
||||
func (d *driverDefinition) PrepareTest(f *framework.Framework) *storageframework.PerTestConfig {
|
||||
e2econfig := &storageframework.PerTestConfig{
|
||||
Driver: d,
|
||||
Prefix: "external",
|
||||
Framework: f,
|
||||
ClientNodeSelection: e2epod.NodeSelection{Name: d.ClientNodeName},
|
||||
}
|
||||
return e2econfig, func() {}
|
||||
return e2econfig
|
||||
}
|
||||
|
@ -47,9 +47,9 @@ type TestDriver interface {
|
||||
SkipUnsupportedTest(TestPattern)
|
||||
|
||||
// PrepareTest is called at test execution time each time a new test case is about to start.
|
||||
// It sets up all necessary resources and returns the per-test configuration
|
||||
// plus a cleanup function that frees all allocated resources.
|
||||
PrepareTest(f *framework.Framework) (*PerTestConfig, func())
|
||||
// It sets up all necessary resources and returns the per-test configuration.
|
||||
// Cleanup is handled via ginkgo.DeferCleanup inside PrepareTest.
|
||||
PrepareTest(f *framework.Framework) *PerTestConfig
|
||||
}
|
||||
|
||||
// TestVolume is the result of PreprovisionedVolumeTestDriver.CreateVolume.
|
||||
|
@ -84,12 +84,11 @@ var _ = utils.SIGDescribe("[Feature:NodeOutOfServiceVolumeDetach] [Disruptive] [
|
||||
// Install gce pd csi driver
|
||||
ginkgo.By("deploying csi gce-pd driver")
|
||||
driver := drivers.InitGcePDCSIDriver()
|
||||
config, cleanup := driver.PrepareTest(f)
|
||||
config := driver.PrepareTest(f)
|
||||
dDriver, ok := driver.(storageframework.DynamicPVTestDriver)
|
||||
if !ok {
|
||||
e2eskipper.Skipf("csi driver expected DynamicPVTestDriver but got %v", driver)
|
||||
}
|
||||
defer cleanup()
|
||||
ginkgo.By("Creating a gce-pd storage class")
|
||||
sc := dDriver.GetDynamicProvisionStorageClass(config, "")
|
||||
_, err := c.StorageV1().StorageClasses().Create(context.TODO(), sc, metav1.CreateOptions{})
|
||||
|
@ -33,7 +33,6 @@ import (
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
|
||||
storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
|
||||
storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
|
||||
admissionapi "k8s.io/pod-security-admission/api"
|
||||
)
|
||||
|
||||
@ -81,10 +80,9 @@ func (p *capacityTestSuite) SkipUnsupportedTests(driver storageframework.TestDri
|
||||
|
||||
func (p *capacityTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
var (
|
||||
dInfo = driver.GetDriverInfo()
|
||||
dDriver storageframework.DynamicPVTestDriver
|
||||
driverCleanup func()
|
||||
sc *storagev1.StorageClass
|
||||
dInfo = driver.GetDriverInfo()
|
||||
dDriver storageframework.DynamicPVTestDriver
|
||||
sc *storagev1.StorageClass
|
||||
)
|
||||
|
||||
// Beware that it also registers an AfterEach which renders f unusable. Any code using
|
||||
@ -95,23 +93,15 @@ func (p *capacityTestSuite) DefineTests(driver storageframework.TestDriver, patt
|
||||
init := func() {
|
||||
dDriver, _ = driver.(storageframework.DynamicPVTestDriver)
|
||||
// Now do the more expensive test initialization.
|
||||
config, cleanup := driver.PrepareTest(f)
|
||||
driverCleanup = cleanup
|
||||
config := driver.PrepareTest(f)
|
||||
sc = dDriver.GetDynamicProvisionStorageClass(config, pattern.FsType)
|
||||
if sc == nil {
|
||||
e2eskipper.Skipf("Driver %q does not define Dynamic Provision StorageClass - skipping", dInfo.Name)
|
||||
}
|
||||
}
|
||||
|
||||
cleanup := func() {
|
||||
err := storageutils.TryFunc(driverCleanup)
|
||||
driverCleanup = nil
|
||||
framework.ExpectNoError(err, "while cleaning up driver")
|
||||
}
|
||||
|
||||
ginkgo.It("provides storage capacity information", func() {
|
||||
init()
|
||||
defer cleanup()
|
||||
|
||||
timeout := time.Minute
|
||||
pollInterval := time.Second
|
||||
|
@ -74,8 +74,7 @@ func (s *disruptiveTestSuite) SkipUnsupportedTests(driver storageframework.TestD
|
||||
|
||||
func (s *disruptiveTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
cs clientset.Interface
|
||||
ns *v1.Namespace
|
||||
@ -97,7 +96,7 @@ func (s *disruptiveTestSuite) DefineTests(driver storageframework.TestDriver, pa
|
||||
l.cs = f.ClientSet
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
|
||||
testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange
|
||||
l.resource = storageframework.CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange)
|
||||
@ -118,8 +117,6 @@ func (s *disruptiveTestSuite) DefineTests(driver storageframework.TestDriver, pa
|
||||
l.resource = nil
|
||||
}
|
||||
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
l.driverCleanup = nil
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleaning up resource")
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,6 @@ import (
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
|
||||
storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
|
||||
storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
|
||||
admissionapi "k8s.io/pod-security-admission/api"
|
||||
)
|
||||
|
||||
@ -104,8 +103,7 @@ func (p *ephemeralTestSuite) SkipUnsupportedTests(driver storageframework.TestDr
|
||||
|
||||
func (p *ephemeralTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
testCase *EphemeralTest
|
||||
resource *storageframework.VolumeResource
|
||||
@ -138,7 +136,7 @@ func (p *ephemeralTestSuite) DefineTests(driver storageframework.TestDriver, pat
|
||||
l = local{}
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.resource = storageframework.CreateVolumeResource(driver, l.config, pattern, e2evolume.SizeRange{})
|
||||
|
||||
switch pattern.VolType {
|
||||
@ -167,7 +165,6 @@ func (p *ephemeralTestSuite) DefineTests(driver storageframework.TestDriver, pat
|
||||
cleanup := func() {
|
||||
var cleanUpErrs []error
|
||||
cleanUpErrs = append(cleanUpErrs, l.resource.CleanupResource())
|
||||
cleanUpErrs = append(cleanUpErrs, storageutils.TryFunc(l.driverCleanup))
|
||||
err := utilerrors.NewAggregate(cleanUpErrs)
|
||||
framework.ExpectNoError(err, "while cleaning up")
|
||||
}
|
||||
|
@ -96,10 +96,9 @@ func (s *fsGroupChangePolicyTestSuite) SkipUnsupportedTests(driver storageframew
|
||||
|
||||
func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
driver storageframework.TestDriver
|
||||
resource *storageframework.VolumeResource
|
||||
config *storageframework.PerTestConfig
|
||||
driver storageframework.TestDriver
|
||||
resource *storageframework.VolumeResource
|
||||
}
|
||||
var l local
|
||||
|
||||
@ -112,7 +111,7 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD
|
||||
e2eskipper.SkipIfNodeOSDistroIs("windows")
|
||||
l = local{}
|
||||
l.driver = driver
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange
|
||||
l.resource = storageframework.CreateVolumeResource(l.driver, l.config, pattern, testVolumeSizeRange)
|
||||
}
|
||||
@ -126,11 +125,6 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD
|
||||
l.resource = nil
|
||||
}
|
||||
|
||||
if l.driverCleanup != nil {
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
l.driverCleanup = nil
|
||||
}
|
||||
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleanup resource")
|
||||
}
|
||||
|
||||
|
@ -87,8 +87,7 @@ func (t *multiVolumeTestSuite) SkipUnsupportedTests(driver storageframework.Test
|
||||
|
||||
func (t *multiVolumeTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
cs clientset.Interface
|
||||
ns *v1.Namespace
|
||||
@ -114,7 +113,7 @@ func (t *multiVolumeTestSuite) DefineTests(driver storageframework.TestDriver, p
|
||||
l.driver = driver
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), dInfo.InTreePluginName)
|
||||
}
|
||||
|
||||
@ -124,8 +123,6 @@ func (t *multiVolumeTestSuite) DefineTests(driver storageframework.TestDriver, p
|
||||
errs = append(errs, resource.CleanupResource())
|
||||
}
|
||||
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
l.driverCleanup = nil
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleanup resource")
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
}
|
||||
|
@ -114,8 +114,7 @@ func (p *provisioningTestSuite) SkipUnsupportedTests(driver storageframework.Tes
|
||||
|
||||
func (p *provisioningTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
testCase *StorageClassTest
|
||||
cs clientset.Interface
|
||||
@ -140,7 +139,7 @@ func (p *provisioningTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
l = local{}
|
||||
dDriver, _ = driver.(storageframework.DynamicPVTestDriver)
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), dInfo.InTreePluginName)
|
||||
l.cs = l.config.Framework.ClientSet
|
||||
testVolumeSizeRange := p.GetTestSuiteInfo().SupportedSizeRange
|
||||
@ -177,10 +176,6 @@ func (p *provisioningTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
}
|
||||
|
||||
cleanup := func() {
|
||||
err := storageutils.TryFunc(l.driverCleanup)
|
||||
l.driverCleanup = nil
|
||||
framework.ExpectNoError(err, "while cleaning up driver")
|
||||
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,6 @@ import (
|
||||
e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
|
||||
storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
|
||||
admissionapi "k8s.io/pod-security-admission/api"
|
||||
)
|
||||
|
||||
@ -44,8 +43,7 @@ type readWriteOncePodTestSuite struct {
|
||||
var _ storageframework.TestSuite = &readWriteOncePodTestSuite{}
|
||||
|
||||
type readWriteOncePodTest struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
cs clientset.Interface
|
||||
volume *storageframework.VolumeResource
|
||||
@ -96,7 +94,7 @@ func (t *readWriteOncePodTestSuite) DefineTests(driver storageframework.TestDriv
|
||||
|
||||
init := func() {
|
||||
l = readWriteOncePodTest{}
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.cs = f.ClientSet
|
||||
l.pods = []*v1.Pod{}
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), driverInfo.InTreePluginName)
|
||||
@ -114,7 +112,6 @@ func (t *readWriteOncePodTestSuite) DefineTests(driver storageframework.TestDriv
|
||||
err := l.volume.CleanupResource()
|
||||
errs = append(errs, err)
|
||||
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleaning up resource")
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
}
|
||||
|
@ -112,10 +112,9 @@ func (s *snapshottableTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
|
||||
ginkgo.Describe("volume snapshot controller", func() {
|
||||
var (
|
||||
err error
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
cleanupSteps []func()
|
||||
err error
|
||||
config *storageframework.PerTestConfig
|
||||
cleanupSteps []func()
|
||||
|
||||
cs clientset.Interface
|
||||
dc dynamic.Interface
|
||||
@ -135,8 +134,7 @@ func (s *snapshottableTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
dc = f.DynamicClient
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
config, driverCleanup = driver.PrepareTest(f)
|
||||
cleanupSteps = append(cleanupSteps, driverCleanup)
|
||||
config = driver.PrepareTest(f)
|
||||
|
||||
cleanupSteps = append(cleanupSteps, func() {
|
||||
framework.ExpectNoError(volumeResource.CleanupResource())
|
||||
|
@ -128,18 +128,17 @@ func (t *snapshottableStressTestSuite) DefineTests(driver storageframework.TestD
|
||||
driverInfo = driver.GetDriverInfo()
|
||||
snapshottableDriver, _ = driver.(storageframework.SnapshottableTestDriver)
|
||||
cs = f.ClientSet
|
||||
config, driverCleanup := driver.PrepareTest(f)
|
||||
config := driver.PrepareTest(f)
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
|
||||
stressTest = &snapshottableStressTest{
|
||||
config: config,
|
||||
driverCleanup: driverCleanup,
|
||||
volumes: []*storageframework.VolumeResource{},
|
||||
snapshots: []*storageframework.SnapshotResource{},
|
||||
pods: []*v1.Pod{},
|
||||
testOptions: *driverInfo.VolumeSnapshotStressTestOptions,
|
||||
ctx: ctx,
|
||||
cancel: cancel,
|
||||
config: config,
|
||||
volumes: []*storageframework.VolumeResource{},
|
||||
snapshots: []*storageframework.SnapshotResource{},
|
||||
pods: []*v1.Pod{},
|
||||
testOptions: *driverInfo.VolumeSnapshotStressTestOptions,
|
||||
ctx: ctx,
|
||||
cancel: cancel,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,8 +99,7 @@ func (s *subPathTestSuite) SkipUnsupportedTests(driver storageframework.TestDriv
|
||||
|
||||
func (s *subPathTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
hostExec storageutils.HostExec
|
||||
resource *storageframework.VolumeResource
|
||||
@ -124,7 +123,7 @@ func (s *subPathTestSuite) DefineTests(driver storageframework.TestDriver, patte
|
||||
l = local{}
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), driver.GetDriverInfo().InTreePluginName)
|
||||
testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange
|
||||
l.resource = storageframework.CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange)
|
||||
@ -181,8 +180,6 @@ func (s *subPathTestSuite) DefineTests(driver storageframework.TestDriver, patte
|
||||
l.resource = nil
|
||||
}
|
||||
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
l.driverCleanup = nil
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleaning up resource")
|
||||
|
||||
if l.hostExec != nil {
|
||||
|
@ -44,8 +44,7 @@ type topologyTestSuite struct {
|
||||
}
|
||||
|
||||
type topologyTest struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
migrationCheck *migrationOpCheck
|
||||
|
||||
@ -112,7 +111,7 @@ func (t *topologyTestSuite) DefineTests(driver storageframework.TestDriver, patt
|
||||
l := topologyTest{}
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
|
||||
l.resource = storageframework.VolumeResource{
|
||||
Config: l.config,
|
||||
@ -156,8 +155,6 @@ func (t *topologyTestSuite) DefineTests(driver storageframework.TestDriver, patt
|
||||
|
||||
cleanup := func(l topologyTest) {
|
||||
t.CleanupResources(cs, &l)
|
||||
err := storageutils.TryFunc(l.driverCleanup)
|
||||
l.driverCleanup = nil
|
||||
framework.ExpectNoError(err, "while cleaning up driver")
|
||||
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
|
@ -35,7 +35,6 @@ import (
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
|
||||
storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
|
||||
storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
|
||||
admissionapi "k8s.io/pod-security-admission/api"
|
||||
)
|
||||
|
||||
@ -102,8 +101,7 @@ func (v *volumeExpandTestSuite) SkipUnsupportedTests(driver storageframework.Tes
|
||||
|
||||
func (v *volumeExpandTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
resource *storageframework.VolumeResource
|
||||
pod *v1.Pod
|
||||
@ -122,7 +120,7 @@ func (v *volumeExpandTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
l = local{}
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), driver.GetDriverInfo().InTreePluginName)
|
||||
testVolumeSizeRange := v.GetTestSuiteInfo().SupportedSizeRange
|
||||
l.resource = storageframework.CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange)
|
||||
@ -149,8 +147,6 @@ func (v *volumeExpandTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
l.resource = nil
|
||||
}
|
||||
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
l.driverCleanup = nil
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleaning up resource")
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
}
|
||||
|
@ -41,7 +41,6 @@ import (
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
|
||||
storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
|
||||
storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
|
||||
admissionapi "k8s.io/pod-security-admission/api"
|
||||
)
|
||||
|
||||
@ -98,8 +97,7 @@ func (t *volumeIOTestSuite) SkipUnsupportedTests(driver storageframework.TestDri
|
||||
|
||||
func (t *volumeIOTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
resource *storageframework.VolumeResource
|
||||
|
||||
@ -119,7 +117,7 @@ func (t *volumeIOTestSuite) DefineTests(driver storageframework.TestDriver, patt
|
||||
l = local{}
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), dInfo.InTreePluginName)
|
||||
|
||||
testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange
|
||||
@ -137,11 +135,6 @@ func (t *volumeIOTestSuite) DefineTests(driver storageframework.TestDriver, patt
|
||||
l.resource = nil
|
||||
}
|
||||
|
||||
if l.driverCleanup != nil {
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
l.driverCleanup = nil
|
||||
}
|
||||
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleaning up resource")
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
}
|
||||
|
@ -33,7 +33,6 @@ import (
|
||||
e2epv "k8s.io/kubernetes/test/e2e/framework/pv"
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
|
||||
storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
|
||||
admissionapi "k8s.io/pod-security-admission/api"
|
||||
)
|
||||
|
||||
@ -42,8 +41,7 @@ type volumeStressTestSuite struct {
|
||||
}
|
||||
|
||||
type volumeStressTest struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
migrationCheck *migrationOpCheck
|
||||
|
||||
@ -121,7 +119,7 @@ func (t *volumeStressTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
l = &volumeStressTest{}
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), dInfo.InTreePluginName)
|
||||
l.volumes = []*storageframework.VolumeResource{}
|
||||
l.pods = []*v1.Pod{}
|
||||
@ -187,7 +185,6 @@ func (t *volumeStressTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
}
|
||||
wg.Wait()
|
||||
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleaning up resource")
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
}
|
||||
|
@ -90,8 +90,7 @@ func (t *volumeLimitsTestSuite) SkipUnsupportedTests(driver storageframework.Tes
|
||||
|
||||
func (t *volumeLimitsTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
testCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
cs clientset.Interface
|
||||
ns *v1.Namespace
|
||||
@ -137,8 +136,7 @@ func (t *volumeLimitsTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
l.ns = f.Namespace
|
||||
l.cs = f.ClientSet
|
||||
|
||||
l.config, l.testCleanup = driver.PrepareTest(f)
|
||||
defer l.testCleanup()
|
||||
l.config = driver.PrepareTest(f)
|
||||
|
||||
ginkgo.By("Picking a node")
|
||||
// Some CSI drivers are deployed to a single node (e.g csi-hostpath),
|
||||
@ -255,8 +253,7 @@ func (t *volumeLimitsTestSuite) DefineTests(driver storageframework.TestDriver,
|
||||
l.ns = f.Namespace
|
||||
l.cs = f.ClientSet
|
||||
|
||||
l.config, l.testCleanup = driver.PrepareTest(f)
|
||||
defer l.testCleanup()
|
||||
l.config = driver.PrepareTest(f)
|
||||
|
||||
nodeNames := []string{}
|
||||
if l.config.ClientNodeSelection.Name != "" {
|
||||
|
@ -116,7 +116,7 @@ func (t *volumeModeTestSuite) DefineTests(driver storageframework.TestDriver, pa
|
||||
l.cs = f.ClientSet
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), dInfo.InTreePluginName)
|
||||
}
|
||||
|
||||
|
@ -93,14 +93,13 @@ func (t *volumePerformanceTestSuite) SkipUnsupportedTests(driver storageframewor
|
||||
|
||||
func (t *volumePerformanceTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
testCleanup func()
|
||||
cs clientset.Interface
|
||||
ns *v1.Namespace
|
||||
scName string
|
||||
pvcs []*v1.PersistentVolumeClaim
|
||||
options *storageframework.PerformanceTestOptions
|
||||
stopCh chan struct{}
|
||||
config *storageframework.PerTestConfig
|
||||
cs clientset.Interface
|
||||
ns *v1.Namespace
|
||||
scName string
|
||||
pvcs []*v1.PersistentVolumeClaim
|
||||
options *storageframework.PerformanceTestOptions
|
||||
stopCh chan struct{}
|
||||
}
|
||||
var (
|
||||
dInfo *storageframework.DriverInfo
|
||||
@ -142,7 +141,6 @@ func (t *volumePerformanceTestSuite) DefineTests(driver storageframework.TestDri
|
||||
ginkgo.By(fmt.Sprintf("Deleting Storage Class %s", l.scName))
|
||||
err := l.cs.StorageV1().StorageClasses().Delete(context.TODO(), l.scName, metav1.DeleteOptions{})
|
||||
framework.ExpectNoError(err)
|
||||
l.testCleanup()
|
||||
})
|
||||
|
||||
ginkgo.It("should provision volumes at scale within performance constraints [Slow] [Serial]", func() {
|
||||
@ -151,7 +149,7 @@ func (t *volumePerformanceTestSuite) DefineTests(driver storageframework.TestDri
|
||||
ns: f.Namespace,
|
||||
options: dInfo.PerformanceTestOptions,
|
||||
}
|
||||
l.config, l.testCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
|
||||
// Stats for volume provisioning operation
|
||||
// TODO: Add stats for attach, resize and snapshot
|
||||
|
@ -36,7 +36,6 @@ import (
|
||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
|
||||
storageframework "k8s.io/kubernetes/test/e2e/storage/framework"
|
||||
storageutils "k8s.io/kubernetes/test/e2e/storage/utils"
|
||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||
admissionapi "k8s.io/pod-security-admission/api"
|
||||
)
|
||||
@ -118,8 +117,7 @@ func skipTestIfBlockNotSupported(driver storageframework.TestDriver) {
|
||||
|
||||
func (t *volumesTestSuite) DefineTests(driver storageframework.TestDriver, pattern storageframework.TestPattern) {
|
||||
type local struct {
|
||||
config *storageframework.PerTestConfig
|
||||
driverCleanup func()
|
||||
config *storageframework.PerTestConfig
|
||||
|
||||
resource *storageframework.VolumeResource
|
||||
|
||||
@ -137,7 +135,7 @@ func (t *volumesTestSuite) DefineTests(driver storageframework.TestDriver, patte
|
||||
l = local{}
|
||||
|
||||
// Now do the more expensive test initialization.
|
||||
l.config, l.driverCleanup = driver.PrepareTest(f)
|
||||
l.config = driver.PrepareTest(f)
|
||||
l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), dInfo.InTreePluginName)
|
||||
testVolumeSizeRange := t.GetTestSuiteInfo().SupportedSizeRange
|
||||
l.resource = storageframework.CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange)
|
||||
@ -153,8 +151,6 @@ func (t *volumesTestSuite) DefineTests(driver storageframework.TestDriver, patte
|
||||
l.resource = nil
|
||||
}
|
||||
|
||||
errs = append(errs, storageutils.TryFunc(l.driverCleanup))
|
||||
l.driverCleanup = nil
|
||||
framework.ExpectNoError(errors.NewAggregate(errs), "while cleaning up resource")
|
||||
l.migrationCheck.validateMigrationVolumeOpCounts()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user