@@ -160,19 +160,27 @@ var _ = Describe("Virtual machine migration cancel", SIGMigration(), ginkgoutil.
160160
161161 Expect (someCompleted ).Should (BeFalse ())
162162
163- By ("Get Kubevirt VMIs for check abort status" )
164- kvvmis := & virtv1.VirtualMachineInstanceList {}
165- err = GetObjects (kc .ResourceKubevirtVMI , kvvmis , kc.GetOptions {Labels : testCaseLabel , Namespace : conf .Namespace })
166- Expect (err ).NotTo (HaveOccurred ())
167-
168- for _ , kvvmi := range kvvmis .Items {
169- migrationState := kvvmi .Status .MigrationState
170- Expect (migrationState ).NotTo (BeNil ())
171-
172- Expect (migrationState .AbortRequested ).To (BeTrue ())
173-
174- validAbortStatus := migrationState .AbortStatus == virtv1 .MigrationAbortFailed || migrationState .AbortStatus == virtv1 .MigrationAbortSucceeded
175- Expect (validAbortStatus ).To (BeTrue ())
176- }
163+ By ("Abort status should be exists in Kubevirt VMIs" )
164+ Eventually (func () error {
165+ kvvmis := & virtv1.VirtualMachineInstanceList {}
166+ err = GetObjects (kc .ResourceKubevirtVMI , kvvmis , kc.GetOptions {Labels : testCaseLabel , Namespace : conf .Namespace })
167+ if err != nil {
168+ return err
169+ }
170+ for _ , kvvmi := range kvvmis .Items {
171+ migrationState := kvvmi .Status .MigrationState
172+ if migrationState == nil {
173+ return fmt .Errorf ("retry because migration state is nil" )
174+ }
175+ if ! migrationState .AbortRequested {
176+ return fmt .Errorf ("retry because migration abort requested is false" )
177+ }
178+ validAbortStatus := migrationState .AbortStatus == virtv1 .MigrationAbortFailed || migrationState .AbortStatus == virtv1 .MigrationAbortSucceeded
179+ if ! validAbortStatus {
180+ return fmt .Errorf ("retry because migration abort status is %s" , migrationState .AbortStatus )
181+ }
182+ }
183+ return nil
184+ }).WithTimeout (LongWaitDuration ).WithPolling (time .Second ).ShouldNot (HaveOccurred ())
177185 })
178186})
0 commit comments