Merge pull request #73404 from tsmetana/fix-kubelet-volume-test

Kubelet: Fix volumemanager test race
pull/564/head
Kubernetes Prow Robot 2019-02-04 06:21:11 -08:00 committed by GitHub
commit ca1336957e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -1226,8 +1226,16 @@ func Test_Run_Positive_VolumeMountControllerAttachEnabledRace(t *testing.T) {
if err != nil {
t.Fatalf("AddPodToVolume failed. Expected: <no error> Actual: <%v>", err)
}
runReconciler(reconciler)
// Start the reconciler to fill ASW.
stopChan, stoppedChan := make(chan struct{}), make(chan struct{})
go func() {
reconciler.Run(stopChan)
close(stoppedChan)
}()
waitForMount(t, fakePlugin, generatedVolumeName, asw)
// Stop the reconciler.
close(stopChan)
<-stoppedChan
finished := make(chan interface{})
fakePlugin.UnmountDeviceHook = func(mountPath string) error {
@ -1252,6 +1260,9 @@ func Test_Run_Positive_VolumeMountControllerAttachEnabledRace(t *testing.T) {
return devicePath, nil
}
// Start the reconciler again.
go reconciler.Run(wait.NeverStop)
// 2. Delete the volume from DSW (and wait for callbacks)
dsw.DeletePodFromVolume(podName, generatedVolumeName)