mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 23:37:01 +00:00
e2e/storage: reset driver config in the test suite
PR #70862 made each driver responsible for resetting its config, but as it turned out, one place was missed in that PR: the in-tree gcepd sets a node selector. Not resetting that caused other tests to fail randomly depending on test execution order. Now the test suite resets the config by taking a copy after setting up the driver and restoring that copy before each test. Long term the intention is to separate the entire test config from the static driver info (https://github.com/kubernetes/kubernetes/issues/72288), but for now resetting the config is the fastest way to fix the test flake. Fixes: #72378
This commit is contained in:
parent
a9c7dfba51
commit
98ba1d8519
@ -127,20 +127,23 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
|
||||
|
||||
for _, initDriver := range csiTestDrivers {
|
||||
curDriver := initDriver(config)
|
||||
curConfig := curDriver.GetDriverInfo().Config
|
||||
Context(testsuites.GetDriverNameWithFeatureTags(curDriver), func() {
|
||||
driver := curDriver
|
||||
|
||||
BeforeEach(func() {
|
||||
// Reset config. The driver might have modified its copy
|
||||
// in a previous test.
|
||||
curDriver.GetDriverInfo().Config = curConfig
|
||||
|
||||
// setupDriver
|
||||
driver.CreateDriver()
|
||||
curDriver.CreateDriver()
|
||||
})
|
||||
|
||||
AfterEach(func() {
|
||||
// Cleanup driver
|
||||
driver.CleanupDriver()
|
||||
curDriver.CleanupDriver()
|
||||
})
|
||||
|
||||
testsuites.RunTestSuite(f, driver, csiTestSuites, csiTunePattern)
|
||||
testsuites.RunTestSuite(f, curDriver, csiTestSuites, csiTunePattern)
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -151,9 +151,6 @@ func (n *nfsDriver) CreateDriver() {
|
||||
ns := f.Namespace
|
||||
n.externalPluginName = fmt.Sprintf("example.com/nfs-%s", ns.Name)
|
||||
|
||||
// Reset config. It might have been modified by a previous CreateVolume call.
|
||||
n.driverInfo.Config.ServerConfig = nil
|
||||
|
||||
// TODO(mkimuram): cluster-admin gives too much right but system:persistent-volume-provisioner
|
||||
// is not enough. We should create new clusterrole for testing.
|
||||
framework.BindClusterRole(cs.RbacV1beta1(), "cluster-admin", ns.Name,
|
||||
@ -298,8 +295,6 @@ func (g *glusterFSDriver) GetPersistentVolumeSource(readOnly bool, fsType string
|
||||
}
|
||||
|
||||
func (g *glusterFSDriver) CreateDriver() {
|
||||
// Reset config. It might have been modified by a previous CreateVolume call.
|
||||
g.driverInfo.Config.ServerConfig = nil
|
||||
}
|
||||
|
||||
func (g *glusterFSDriver) CleanupDriver() {
|
||||
@ -429,8 +424,6 @@ func (i *iSCSIDriver) GetPersistentVolumeSource(readOnly bool, fsType string, te
|
||||
}
|
||||
|
||||
func (i *iSCSIDriver) CreateDriver() {
|
||||
// Reset config. It might have been modified by a previous CreateVolume call.
|
||||
i.driverInfo.Config.ServerConfig = nil
|
||||
}
|
||||
|
||||
func (i *iSCSIDriver) CleanupDriver() {
|
||||
@ -556,8 +549,6 @@ func (r *rbdDriver) GetPersistentVolumeSource(readOnly bool, fsType string, test
|
||||
}
|
||||
|
||||
func (r *rbdDriver) CreateDriver() {
|
||||
// Reset config. It might have been modified by a previous CreateVolume call.
|
||||
r.driverInfo.Config.ServerConfig = nil
|
||||
}
|
||||
|
||||
func (r *rbdDriver) CleanupDriver() {
|
||||
@ -670,8 +661,6 @@ func (c *cephFSDriver) GetPersistentVolumeSource(readOnly bool, fsType string, t
|
||||
}
|
||||
|
||||
func (c *cephFSDriver) CreateDriver() {
|
||||
// Reset config. It might have been modified by a previous CreateVolume call.
|
||||
c.driverInfo.Config.ServerConfig = nil
|
||||
}
|
||||
|
||||
func (c *cephFSDriver) CleanupDriver() {
|
||||
|
@ -69,20 +69,23 @@ var _ = utils.SIGDescribe("In-tree Volumes", func() {
|
||||
|
||||
for _, initDriver := range testDrivers {
|
||||
curDriver := initDriver(config)
|
||||
curConfig := curDriver.GetDriverInfo().Config
|
||||
Context(testsuites.GetDriverNameWithFeatureTags(curDriver), func() {
|
||||
driver := curDriver
|
||||
|
||||
BeforeEach(func() {
|
||||
// Reset config. The driver might have modified its copy
|
||||
// in a previous test.
|
||||
curDriver.GetDriverInfo().Config = curConfig
|
||||
|
||||
// setupDriver
|
||||
driver.CreateDriver()
|
||||
curDriver.CreateDriver()
|
||||
})
|
||||
|
||||
AfterEach(func() {
|
||||
// Cleanup driver
|
||||
driver.CleanupDriver()
|
||||
curDriver.CleanupDriver()
|
||||
})
|
||||
|
||||
testsuites.RunTestSuite(f, driver, testSuites, intreeTunePattern)
|
||||
testsuites.RunTestSuite(f, curDriver, testSuites, intreeTunePattern)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user