yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #52170
[Bug 1591240] [NEW] progress_watermark is not updated
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
Follow ups