← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1728603] [NEW] Resize a boot-from-volume instance with NFS destroys instance

 

Public bug reported:

Turns out that the fix for https://bugs.launchpad.net/nova/+bug/1666831
accidentally broke boot-from-volume setups that use NFS. In particular,
this line:

https://github.com/openstack/nova/blob/stable/ocata/nova/virt/libvirt/driver.py#L1149

        if os.path.exists(inst_base) and not root_disk.exists():
            try:
                shutil.rmtree(inst_base)
            except OSError as e:
                if e.errno != errno.ENOENT:
                    raise

Causes the instance basedir which includes the instances libvirt.XML
file to be deleted.

The above needs to be changed to this in order to prevent BFV instances
from being destroyed on resize...

 if os.path.exists(inst_base) and not root_disk.exists() and not
compute_utils.is_volume_backed_instance(instance._context, instance):

This bug was reported and the fix confirmed by Joris S'heeran

** Affects: nova
     Importance: High
         Status: Confirmed

** Affects: nova/ocata
     Importance: Undecided
         Status: New

** Affects: nova/pike
     Importance: Undecided
         Status: New


** Tags: boot-from-volume resize

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

Title:
  Resize a boot-from-volume instance with NFS destroys instance

Status in OpenStack Compute (nova):
  Confirmed
Status in OpenStack Compute (nova) ocata series:
  New
Status in OpenStack Compute (nova) pike series:
  New

Bug description:
  Turns out that the fix for
  https://bugs.launchpad.net/nova/+bug/1666831 accidentally broke boot-
  from-volume setups that use NFS. In particular, this line:

  https://github.com/openstack/nova/blob/stable/ocata/nova/virt/libvirt/driver.py#L1149

          if os.path.exists(inst_base) and not root_disk.exists():
              try:
                  shutil.rmtree(inst_base)
              except OSError as e:
                  if e.errno != errno.ENOENT:
                      raise

  Causes the instance basedir which includes the instances libvirt.XML
  file to be deleted.

  The above needs to be changed to this in order to prevent BFV
  instances from being destroyed on resize...

   if os.path.exists(inst_base) and not root_disk.exists() and not
  compute_utils.is_volume_backed_instance(instance._context, instance):

  This bug was reported and the fix confirmed by Joris S'heeran

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


Follow ups