Fix the leak of vSphere client sessions

Implement the test cleanup callback method to close any open vSphere
client connections. Without this clean up sessions were leaking during
testing.
This commit is contained in:
Derek Pryor 2021-12-21 14:07:53 -08:00
parent 813671d1a0
commit 70e0f8197a
No known key found for this signature in database
GPG Key ID: 39B0E43E87D71801

View File

@ -1491,10 +1491,19 @@ func (v *vSphereDriver) GetDynamicProvisionStorageClass(config *storageframework
func (v *vSphereDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) { func (v *vSphereDriver) PrepareTest(f *framework.Framework) (*storageframework.PerTestConfig, func()) {
return &storageframework.PerTestConfig{ return &storageframework.PerTestConfig{
Driver: v, Driver: v,
Prefix: "vsphere", Prefix: "vsphere",
Framework: f, Framework: f,
}, func() {} }, 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) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume { func (v *vSphereDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume {