Public bug reported: During the live migration process the progress_watermark/progress_time are not being (re)updated with the new progress made by the live migration at the "_live_migration_monitor" function (virt/libvirt/driver.py).
More specifically, in these lines of code: if ((progress_watermark is None) or (progress_watermark > info.data_remaining)): progress_watermark = info.data_remaining progress_time = now It may happen that the first time it gets inside (progress_watermark = None), the info.data_remaining is still 0, thus the progress_watermark is set to 0. This avoids to get inside the "if" block in the future iterations (as progress_watermark=0 is never bigger than info.data_remaining), and thus not updating neither the progress_watermark, nor the progress_time from that point. This may lead to (unneeded) abort migrations due to progress_time not being updated, making (now - progress_time) > progress_timeout. It can be fixed just by modifying the if clause to be like: if ((progress_watermark is None) or (progress_watermark == 0) or (progress_watermark > info.data_remaining)): ** Affects: nova Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1591240 Title: progress_watermark is not updated Status in OpenStack Compute (nova): New Bug description: During the live migration process the progress_watermark/progress_time are not being (re)updated with the new progress made by the live migration at the "_live_migration_monitor" function (virt/libvirt/driver.py). More specifically, in these lines of code: if ((progress_watermark is None) or (progress_watermark > info.data_remaining)): progress_watermark = info.data_remaining progress_time = now It may happen that the first time it gets inside (progress_watermark = None), the info.data_remaining is still 0, thus the progress_watermark is set to 0. This avoids to get inside the "if" block in the future iterations (as progress_watermark=0 is never bigger than info.data_remaining), and thus not updating neither the progress_watermark, nor the progress_time from that point. This may lead to (unneeded) abort migrations due to progress_time not being updated, making (now - progress_time) > progress_timeout. It can be fixed just by modifying the if clause to be like: if ((progress_watermark is None) or (progress_watermark == 0) or (progress_watermark > info.data_remaining)): To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1591240/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp