mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +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 {
|
for _, initDriver := range csiTestDrivers {
|
||||||
curDriver := initDriver(config)
|
curDriver := initDriver(config)
|
||||||
|
curConfig := curDriver.GetDriverInfo().Config
|
||||||
Context(testsuites.GetDriverNameWithFeatureTags(curDriver), func() {
|
Context(testsuites.GetDriverNameWithFeatureTags(curDriver), func() {
|
||||||
driver := curDriver
|
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
|
// Reset config. The driver might have modified its copy
|
||||||
|
// in a previous test.
|
||||||
|
curDriver.GetDriverInfo().Config = curConfig
|
||||||
|
|
||||||
// setupDriver
|
// setupDriver
|
||||||
driver.CreateDriver()
|
curDriver.CreateDriver()
|
||||||
})
|
})
|
||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
// Cleanup driver
|
// 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
|
ns := f.Namespace
|
||||||
n.externalPluginName = fmt.Sprintf("example.com/nfs-%s", ns.Name)
|
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
|
// TODO(mkimuram): cluster-admin gives too much right but system:persistent-volume-provisioner
|
||||||
// is not enough. We should create new clusterrole for testing.
|
// is not enough. We should create new clusterrole for testing.
|
||||||
framework.BindClusterRole(cs.RbacV1beta1(), "cluster-admin", ns.Name,
|
framework.BindClusterRole(cs.RbacV1beta1(), "cluster-admin", ns.Name,
|
||||||
@ -298,8 +295,6 @@ func (g *glusterFSDriver) GetPersistentVolumeSource(readOnly bool, fsType string
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *glusterFSDriver) CreateDriver() {
|
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() {
|
func (g *glusterFSDriver) CleanupDriver() {
|
||||||
@ -429,8 +424,6 @@ func (i *iSCSIDriver) GetPersistentVolumeSource(readOnly bool, fsType string, te
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (i *iSCSIDriver) CreateDriver() {
|
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() {
|
func (i *iSCSIDriver) CleanupDriver() {
|
||||||
@ -556,8 +549,6 @@ func (r *rbdDriver) GetPersistentVolumeSource(readOnly bool, fsType string, test
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *rbdDriver) CreateDriver() {
|
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() {
|
func (r *rbdDriver) CleanupDriver() {
|
||||||
@ -670,8 +661,6 @@ func (c *cephFSDriver) GetPersistentVolumeSource(readOnly bool, fsType string, t
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *cephFSDriver) CreateDriver() {
|
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() {
|
func (c *cephFSDriver) CleanupDriver() {
|
||||||
|
@ -69,20 +69,23 @@ var _ = utils.SIGDescribe("In-tree Volumes", func() {
|
|||||||
|
|
||||||
for _, initDriver := range testDrivers {
|
for _, initDriver := range testDrivers {
|
||||||
curDriver := initDriver(config)
|
curDriver := initDriver(config)
|
||||||
|
curConfig := curDriver.GetDriverInfo().Config
|
||||||
Context(testsuites.GetDriverNameWithFeatureTags(curDriver), func() {
|
Context(testsuites.GetDriverNameWithFeatureTags(curDriver), func() {
|
||||||
driver := curDriver
|
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
|
// Reset config. The driver might have modified its copy
|
||||||
|
// in a previous test.
|
||||||
|
curDriver.GetDriverInfo().Config = curConfig
|
||||||
|
|
||||||
// setupDriver
|
// setupDriver
|
||||||
driver.CreateDriver()
|
curDriver.CreateDriver()
|
||||||
})
|
})
|
||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
// Cleanup driver
|
// 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