yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #09492
[Bug 1278203] [NEW] live migration attempts block device and fs resize
Public bug reported:
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
** Affects: nova
Importance: High
Status: Triaged
** Tags: libvirt
** Description changed:
AIUI we consider this a) fragile and b) a security risk,thus the bug
report.
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):
- 2014-02-09 23:19:04.417 4295 ERROR oslo.messaging._executors.base [-] Exception during message handling
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base Traceback (most recent call last):
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/_executors/base.py", line 36, in _dispatch
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base incoming.reply(self.callback(incoming.ctxt, incoming.message))
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 122, in __call__
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base return self._dispatch(endpoint, method, ctxt, args)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 92, in _dispatch
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base result = getattr(endpoint, method)(ctxt, **new_args)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/exception.py", line 88, in wrapped
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base payload)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base six.reraise(self.type_, self.value, self.tb)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/exception.py", line 71, in wrapped
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base return f(self, context, *args, **kw)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 266, in decorated_function
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base e, sys.exc_info())
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base six.reraise(self.type_, self.value, self.tb)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 253, in decorated_function
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base return function(self, context, *args, **kwargs)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 4169, in pre_live_migration
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base migrate_data)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4349, in pre_live_migration
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base disk_info)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4446, in _create_images_and_backing
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base size=info['virt_disk_size'])
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 180, in cache
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base *args, **kwargs)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 330, in create_image
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base copy_qcow2_image(base, self.path, size)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base return f(*args, **kwargs)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 296, in copy_qcow2_image
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base disk.extend(target, size, use_cow=True)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/api.py", line 155, in extend
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base if not is_image_partitionless(image, use_cow):
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/api.py", line 205, in is_image_partitionless
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base fs.setup()
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 82, in setup
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base self.teardown()
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base six.reraise(self.type_, self.value, self.tb)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 76, in setup
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base if not mount.do_mount():
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/api.py", line 218, in do_mount
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base status = self.get_dev() and self.map_dev() and self.mnt_dev()
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 127, in get_dev
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base return self._get_dev_retry_helper()
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/api.py", line 118, in _get_dev_retry_helper
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base device = self._inner_get_dev()
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base return f(*args, **kwargs)
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 86, in _inner_get_dev
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base device = self._allocate_nbd()
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 63, in _allocate_nbd
- 2014-02-09 23:19:04.417 4295 TRACE oslo.messaging._executors.base raise Exception("FOAD")
+ Traceback (most recent call last):
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/_executors/base.py", line 36, in _dispatch
+ incoming.reply(self.callback(incoming.ctxt, incoming.message))
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 122, in __call__
+ return self._dispatch(endpoint, method, ctxt, args)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 92, in _dispatch
+ result = getattr(endpoint, method)(ctxt, **new_args)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/exception.py", line 88, in wrapped
+ payload)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
+ six.reraise(self.type_, self.value, self.tb)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/exception.py", line 71, in wrapped
+ return f(self, context, *args, **kw)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 266, in decorated_function
+ e, sys.exc_info())
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
+ six.reraise(self.type_, self.value, self.tb)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 253, in decorated_function
+ return function(self, context, *args, **kwargs)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 4169, in pre_live_migration
+ migrate_data)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4349, in pre_live_migration
+ disk_info)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4446, in _create_images_and_backing
+ size=info['virt_disk_size'])
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 180, in cache
+ *args, **kwargs)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 330, in create_image
+ copy_qcow2_image(base, self.path, size)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
+ return f(*args, **kwargs)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 296, in copy_qcow2_image
+ disk.extend(target, size, use_cow=True)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/api.py", line 155, in extend
+ if not is_image_partitionless(image, use_cow):
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/api.py", line 205, in is_image_partitionless
+ fs.setup()
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 82, in setup
+ self.teardown()
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
+ six.reraise(self.type_, self.value, self.tb)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 76, in setup
+ if not mount.do_mount():
+ File "/opt/stack/venvs/nova/local/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 "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 127, in get_dev
+ return self._get_dev_retry_helper()
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/api.py", line 118, in _get_dev_retry_helper
+ device = self._inner_get_dev()
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
+ return f(*args, **kwargs)
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 86, in _inner_get_dev
+ device = self._allocate_nbd()
+ File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 63, in _allocate_nbd
+ raise Exception("FOAD")
+ Exception: FOAD
** Description changed:
AIUI we consider this a) fragile and b) a security risk,thus the bug
report.
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):
-
+ 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 "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/_executors/base.py", line 36, in _dispatch
+ File "/lib/python2.7/site-packages/oslo/messaging/_executors/base.py", line 36, in _dispatch
incoming.reply(self.callback(incoming.ctxt, incoming.message))
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 122, in __call__
+ File "/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 122, in __call__
return self._dispatch(endpoint, method, ctxt, args)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 92, in _dispatch
+ File "/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 92, in _dispatch
result = getattr(endpoint, method)(ctxt, **new_args)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/exception.py", line 88, in wrapped
+ File "/lib/python2.7/site-packages/nova/exception.py", line 88, in wrapped
payload)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
+ File "/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
six.reraise(self.type_, self.value, self.tb)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/exception.py", line 71, in wrapped
+ File "/lib/python2.7/site-packages/nova/exception.py", line 71, in wrapped
return f(self, context, *args, **kw)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 266, in decorated_function
+ File "/lib/python2.7/site-packages/nova/compute/manager.py", line 266, in decorated_function
e, sys.exc_info())
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
+ File "/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
six.reraise(self.type_, self.value, self.tb)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 253, in decorated_function
+ File "/lib/python2.7/site-packages/nova/compute/manager.py", line 253, in decorated_function
return function(self, context, *args, **kwargs)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 4169, in pre_live_migration
+ File "/lib/python2.7/site-packages/nova/compute/manager.py", line 4169, in pre_live_migration
migrate_data)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4349, in pre_live_migration
+ File "/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4349, in pre_live_migration
disk_info)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4446, in _create_images_and_backing
+ File "/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4446, in _create_images_and_backing
size=info['virt_disk_size'])
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 180, in cache
+ File "/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 180, in cache
*args, **kwargs)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 330, in create_image
+ File "/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 330, in create_image
copy_qcow2_image(base, self.path, size)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
+ File "/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
return f(*args, **kwargs)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/imagebackend.py", line 296, in copy_qcow2_image
+ 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 "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/api.py", line 155, in extend
+ File "/lib/python2.7/site-packages/nova/virt/disk/api.py", line 155, in extend
if not is_image_partitionless(image, use_cow):
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/api.py", line 205, in is_image_partitionless
+ File "/lib/python2.7/site-packages/nova/virt/disk/api.py", line 205, in is_image_partitionless
fs.setup()
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 82, in setup
+ File "/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 82, in setup
self.teardown()
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
+ File "/lib/python2.7/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
six.reraise(self.type_, self.value, self.tb)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 76, in setup
+ File "/lib/python2.7/site-packages/nova/virt/disk/vfs/localfs.py", line 76, in setup
if not mount.do_mount():
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/api.py", line 218, in 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 "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 127, in get_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 "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/api.py", line 118, in _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 "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
+ File "/lib/python2.7/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
return f(*args, **kwargs)
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 86, in _inner_get_dev
+ File "/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 86, in _inner_get_dev
device = self._allocate_nbd()
- File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 63, in _allocate_nbd
+ File "/lib/python2.7/site-packages/nova/virt/disk/mount/nbd.py", line 63, in _allocate_nbd
raise Exception("FOAD")
Exception: FOAD
--
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):
Triaged
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
Follow ups
References