← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1278203] Re: live migration attempts block device and fs resize

 

I think this bug is invalid. The code path looks to me like we're
resizing the backing file for the disk that we fetched from glance. For
better or for worse, when we know that the filesystem inside that
backing file is an ext2 filesystem we also resize the file system after
resizing the disk. Presumably this machine didn't have libguestfs, so it
fell back to nbd.

** Changed in: nova
       Status: Incomplete => Invalid

** Changed in: nova
   Importance: High => Undecided

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

Title:
  live migration attempts block device and fs resize

Status in OpenStack Compute (Nova):
  Invalid

Bug description:
  I noticed this when some qemu-nbd processes were hung, and we had file
  injection off. I was like WAT.

  Here is a backtrace (I added an exception in the nbd code to find out what was calling it):
  Traceback (most recent call last):
    File "/lib/python2.7/site-packages/oslo/messaging/_executors/base.py", line 36, in _dispatch
      incoming.reply(self.callback(incoming.ctxt, incoming.message))
    File "/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 122, in __call__
      return self._dispatch(endpoint, method, ctxt, args)
    File "/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 92, in _dispatch
      result = getattr(endpoint, method)(ctxt, **new_args)
    File "/lib/python2.7/site-packages/nova/exception.py", line 88, in wrapped
      payload)
    File "/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/lib/python2.7/site-packages/nova/exception.py", line 71, in wrapped
      return f(self, context, *args, **kw)
    File "/lib/python2.7/site-packages/nova/compute/manager.py", line 266, in decorated_function
      e, sys.exc_info())
    File "/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/lib/python2.7/site-packages/nova/compute/manager.py", line 253, in decorated_function
      return function(self, context, *args, **kwargs)
    File "/lib/python2.7/site-packages/nova/compute/manager.py", line 4169, in pre_live_migration
      migrate_data)
    File "/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4349, in pre_live_migration
      disk_info)
    File "/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4446, in _create_images_and_backing
      size=info['virt_disk_size'])
    File "/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 180, in cache
      *args, **kwargs)
    File "/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 330, in create_image
      copy_qcow2_image(base, self.path, size)
    File "/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
      return f(*args, **kwargs)
    File "/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 296, in copy_qcow2_image
      disk.extend(target, size, use_cow=True)
    File "/lib/python2.7/site-packages/nova/virt/disk/api.py", line 155, in extend
      if not is_image_partitionless(image, use_cow):
    File "/lib/python2.7/site-packages/nova/virt/disk/api.py", line 205, in is_image_partitionless
      fs.setup()
    File "/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 82, in setup
      self.teardown()
    File "/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 76, in setup
      if not mount.do_mount():
    File "/lib/python2.7/site-packages/nova/virt/disk/mount/api.py", line 218, in do_mount
      status = self.get_dev() and self.map_dev() and self.mnt_dev()
    File "/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 127, in get_dev
      return self._get_dev_retry_helper()
    File "/lib/python2.7/site-packages/nova/virt/disk/mount/api.py", line 118, in _get_dev_retry_helper
      device = self._inner_get_dev()
    File "/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
      return f(*args, **kwargs)
    File "/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 86, in _inner_get_dev
      device = self._allocate_nbd()
    File "/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 63, in _allocate_nbd
      raise Exception("FOAD")
  Exception: FOAD

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


References