← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1028495] Re: Separate image_snapshot from image_uploading

 

very old refactoring wishlist item

** Changed in: nova
       Status: Confirmed => Opinion

-- 
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/1028495

Title:
  Separate image_snapshot from image_uploading

Status in OpenStack Compute (Nova):
  Opinion

Bug description:
  The current code does this:

  1. Set task_state=image_snapshot
  2. Snapshot Instance
  3. Upload Image
  4. Set task_state=None

  There are a couple of problems with this.

  First, there's a race condition between when the Upload-Image task
  completes and when the task_state is set to None. This means that if
  we're polling the image to see when it goes active and then take a
  snapshot immediately afterwards, it *may* fail.

  The second issue is that snapshotting an instance is quick, but
  uploading is slow, so we're preventing more snapshots from being taken
  for an *unnecessarily* long period of time.

  Really, we should only forbid snapshots while the instance is
  snapshotting. Uploading the Image would be handled asynchronously.

  So, the revised proposal is:

  Compute Manager:

  1. Set task_state=image_snapshot
  2. Snapshot Instance
  3. Queue Snapshot for Upload
  4. Set task_state=None

  Image-Upload Worker

  1. Dequeue Image Upload Job
  2. Upload to Glance

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1028495/+subscriptions