← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1416000] Re: VMware: write error lost while transferring volume

 

The same problem exists in Nova as we use the same approach for image
transfer:

https://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/images.py#L181

** Also 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/1416000

Title:
  VMware: write error lost while transferring volume

Status in Cinder:
  New
Status in OpenStack Compute (Nova):
  New

Bug description:
  I'm running the following command:

  cinder create --image-id a24f216f-9746-418e-97f9-aebd7fa0e25f 1

  The write side of the data transfer (a VMwareHTTPWriteFile object)
  returns an error in write() which I haven't debugged, yet. However,
  this error is never reported to the user, although it does show up in
  the logs. The effect is that the transfer sits in the 'downloading'
  state until the 7200 second timeout, when it reports the timeout.

  The reason is that the code which waits on transfer completion (in
  start_transfer) does:

      try:
          # Wait on the read and write events to signal their end
          read_event.wait()
          write_event.wait()
      except (timeout.Timeout, Exception) as exc:
          ...

  That is, it waits for the read thread to signal completion via
  read_event before checking write_event. However, because write_thread
  has died, read_thread is blocking and will never signal completion.
  You can demonstrate this by swapping the order. If you want for write
  first it will die immediately, which is what you want. However, that's
  not right either because now you're missing read errors.

  Ideally this code needs to be able to notice an error at either end
  and stop immediately.

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