mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-11 06:02:18 +00:00
Merge pull request #113128 from pohly/e2e-storage-cleanup
e2e storage: cleanup with context
This commit is contained in:
@@ -158,7 +158,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)
|
||||
@@ -168,6 +168,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"),
|
||||
@@ -176,16 +180,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 {
|
||||
@@ -309,12 +312,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 {
|
||||
@@ -503,12 +506,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 {
|
||||
@@ -618,12 +621,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 {
|
||||
@@ -695,12 +698,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 {
|
||||
@@ -776,12 +779,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 {
|
||||
@@ -917,12 +920,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
|
||||
@@ -1070,7 +1073,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",
|
||||
@@ -1084,7 +1087,7 @@ func (g *gcePdDriver) PrepareTest(f *framework.Framework) (*storageframework.Per
|
||||
},
|
||||
}
|
||||
}
|
||||
return config, func() {}
|
||||
return config
|
||||
|
||||
}
|
||||
|
||||
@@ -1218,21 +1221,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 {
|
||||
@@ -1364,12 +1368,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 {
|
||||
@@ -1503,7 +1507,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",
|
||||
@@ -1517,7 +1521,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 {
|
||||
@@ -1641,7 +1645,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)
|
||||
@@ -1663,14 +1667,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 {
|
||||
@@ -1862,12 +1865,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 {
|
||||
|
Reference in New Issue
Block a user