← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1591240] Re: progress_watermark is not updated

 

Reviewed:  https://review.openstack.org/331685
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=6283b16ceb7eb9f70e64846b3cefd258642a4c65
Submitter: Jenkins
Branch:    master

commit 6283b16ceb7eb9f70e64846b3cefd258642a4c65
Author: Luis Tomas <luis5tb@xxxxxxxxx>
Date:   Mon Jun 20 16:02:42 2016 +0200

    Ensures that progress_watermark and progress_time are updated
    
    Ensure that progress_watermark adn progress_time are updated when
    progress is made, even if progress_watermark is set to 0 in the
    first iteration due to info.data_remaining being equals to 0.
    
    Closes-Bug: #1591240
    
    Change-Id: I36c38a4ef049c995f715f2a8274c77fd8504b546


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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):
  Fix Released

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


References