From 96065fc6149e3fa17f6c6de9af337bbb6e7241db Mon Sep 17 00:00:00 2001 From: kubevirt-bot Date: Mon, 14 Oct 2019 18:49:40 +0200 Subject: [PATCH] Increase DV state timeout for multiple clone tests (#991) Signed-off-by: Fred Rolland --- tests/cloner_test.go | 4 ++-- tests/utils/datavolume.go | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/cloner_test.go b/tests/cloner_test.go index d6e7d07a71..5724bada19 100644 --- a/tests/cloner_test.go +++ b/tests/cloner_test.go @@ -312,7 +312,7 @@ var _ = Describe("Validate Data Volume should clone multiple clones in parallel" dvs := []*cdiv1.DataVolume{targetDv1, targetDv2, targetDv3} for _, dv := range dvs { By("Waiting for clone to be completed") - err = utils.WaitForDataVolumePhase(f.CdiClient, f.Namespace.Name, cdiv1.Succeeded, dv.Name) + err = utils.WaitForDataVolumePhaseWithTimeout(f.CdiClient, f.Namespace.Name, cdiv1.Succeeded, dv.Name, 3*90*time.Second) Expect(err).ToNot(HaveOccurred()) matchFile := filepath.Join(testBaseDir, "disk.img") Expect(f.VerifyTargetPVCContentMD5(f.Namespace, utils.PersistentVolumeClaimFromDataVolume(dv), matchFile, md5sum[:32])).To(BeTrue()) @@ -354,7 +354,7 @@ var _ = Describe("Validate Data Volume should clone multiple clones in parallel" dvs := []*cdiv1.DataVolume{targetDv1, targetDv2, targetDv3} for _, dv := range dvs { By("Waiting for clone to be completed") - err = utils.WaitForDataVolumePhase(f.CdiClient, f.Namespace.Name, cdiv1.Succeeded, dv.Name) + err = utils.WaitForDataVolumePhaseWithTimeout(f.CdiClient, f.Namespace.Name, cdiv1.Succeeded, dv.Name, 3*90*time.Second) Expect(err).ToNot(HaveOccurred()) Expect(f.VerifyTargetPVCContentMD5(f.Namespace, utils.PersistentVolumeClaimFromDataVolume(dv), testBaseDir, md5sum[:32])).To(BeTrue()) _, err = utils.WaitPodDeleted(f.K8sClient, "verify-pvc-md5", f.Namespace.Name, verifyPodDeletedTimeout) diff --git a/tests/utils/datavolume.go b/tests/utils/datavolume.go index c77dff5aa9..0e7289039d 100644 --- a/tests/utils/datavolume.go +++ b/tests/utils/datavolume.go @@ -288,7 +288,12 @@ func NewDataVolumeWithRegistryImport(dataVolumeName string, size string, registr // WaitForDataVolumePhase waits for DV's phase to be in a particular phase (Pending, Bound, or Lost) func WaitForDataVolumePhase(clientSet *cdiclientset.Clientset, namespace string, phase cdiv1.DataVolumePhase, dataVolumeName string) error { - err := wait.PollImmediate(dataVolumePollInterval, dataVolumePhaseTime, func() (bool, error) { + return WaitForDataVolumePhaseWithTimeout(clientSet, namespace, phase, dataVolumeName, dataVolumePhaseTime) +} + +// WaitForDataVolumePhaseWithTimeout waits for DV's phase to be in a particular phase (Pending, Bound, or Lost) with a specified timeout +func WaitForDataVolumePhaseWithTimeout(clientSet *cdiclientset.Clientset, namespace string, phase cdiv1.DataVolumePhase, dataVolumeName string, timeout time.Duration) error { + err := wait.PollImmediate(dataVolumePollInterval, timeout, func() (bool, error) { dataVolume, err := clientSet.CdiV1alpha1().DataVolumes(namespace).Get(dataVolumeName, metav1.GetOptions{}) if err != nil || dataVolume.Status.Phase != phase { return false, err @@ -296,7 +301,7 @@ func WaitForDataVolumePhase(clientSet *cdiclientset.Clientset, namespace string, return true, nil }) if err != nil { - return fmt.Errorf("DataVolume %s not in phase %s within %v", dataVolumeName, phase, dataVolumePhaseTime) + return fmt.Errorf("DataVolume %s not in phase %s within %v", dataVolumeName, phase, timeout) } return nil }