← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1605720] [NEW] backing store missing for ephemeral disk on migration with boot-from-vol

 

Public bug reported:

I'm on stable/mitaka, but the master code looks similar.

I have compute nodes configured to use qcow2 and libvirt.  The flavor
has an ephemeral disk and a swap disk.  I boot an instance with this
flavor, and the instance is boot-from-volume.

When I try to cold-migrate the instance, I get an error:
2016-07-21 23:33:48.561 46340 ERROR nova.compute.manager [instance: 4e52bfd8-0c71-48dc-89fb-6f6b31dc06bb] libvirtError: Cannot access backing file '/etc/nova/instances/_base/ephemeral_1_0706d66' of storage file '/etc/nova/instances/4e52bfd8-0c71-48dc-89fb-6f6b31dc06bb/disk.eph0' (as uid:0, gid:0): No such file or directory


The problem seems to be that in nova.virt.libvirt.driver.LibvirtDriver.finish_migration() we call self._create_image(...block_device_info=None...)

Down in _create_image() we handle the case of a "disk.local" ephemeral
device, but that doesn't help because the device is actually named
"disk.eph0".   It looks like we then try to loop over any ephemerals in
block_device_info, but that's None so we don't handle any of those
(which is too bad since it looks like they would be named correctly).

The end result is that we have a qcow2 "disk.eph0" image, but with
potentially no backing store in <instances_path>/_base.  When we tell
libvirt to start the instance, this results in the above error.

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: compute

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

Title:
  backing store missing for ephemeral disk on migration with boot-from-
  vol

Status in OpenStack Compute (nova):
  New

Bug description:
  I'm on stable/mitaka, but the master code looks similar.

  I have compute nodes configured to use qcow2 and libvirt.  The flavor
  has an ephemeral disk and a swap disk.  I boot an instance with this
  flavor, and the instance is boot-from-volume.

  When I try to cold-migrate the instance, I get an error:
  2016-07-21 23:33:48.561 46340 ERROR nova.compute.manager [instance: 4e52bfd8-0c71-48dc-89fb-6f6b31dc06bb] libvirtError: Cannot access backing file '/etc/nova/instances/_base/ephemeral_1_0706d66' of storage file '/etc/nova/instances/4e52bfd8-0c71-48dc-89fb-6f6b31dc06bb/disk.eph0' (as uid:0, gid:0): No such file or directory

  
  The problem seems to be that in nova.virt.libvirt.driver.LibvirtDriver.finish_migration() we call self._create_image(...block_device_info=None...)

  Down in _create_image() we handle the case of a "disk.local" ephemeral
  device, but that doesn't help because the device is actually named
  "disk.eph0".   It looks like we then try to loop over any ephemerals
  in block_device_info, but that's None so we don't handle any of those
  (which is too bad since it looks like they would be named correctly).

  The end result is that we have a qcow2 "disk.eph0" image, but with
  potentially no backing store in <instances_path>/_base.  When we tell
  libvirt to start the instance, this results in the above error.

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


Follow ups