yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #18376
[Bug 1351002] [NEW] live migration (non-block-migration) with shared instance storage and config drive fails
Public bug reported:
To reproduce:
1. Set up shared instance storage via NFS and use one of the file-based image backends
2. Boot an instance with a config drive
3. Attempt to live migrate said instance w/o doing a block migration
The issue is caused by the following lines in nova/virt/libvirt/driver.py:
if not (is_shared_instance_path and is_shared_block_storage):
# NOTE(mikal): live migration of instances using config drive is
# not supported because of a bug in libvirt (read only devices
# are not copied by libvirt). See bug/1246201
if configdrive.required_by(instance):
raise exception.NoLiveMigrationForConfigDriveInLibVirt()
The issue, I believe, was caused by commit bc45c56f1, which separated
checks for shared instance directories and shared block storage backends
like Ceph. The issue is that if a deployer is not using Ceph, the call
to self.image_backend.backend().is_shared_block_storage() returns False.
However, is_shared_block_storage should not even be considered if the
image backend is a file-based one.
** Affects: nova
Importance: High
Status: New
** Tags: libvirt
--
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/1351002
Title:
live migration (non-block-migration) with shared instance storage and
config drive fails
Status in OpenStack Compute (Nova):
New
Bug description:
To reproduce:
1. Set up shared instance storage via NFS and use one of the file-based image backends
2. Boot an instance with a config drive
3. Attempt to live migrate said instance w/o doing a block migration
The issue is caused by the following lines in nova/virt/libvirt/driver.py:
if not (is_shared_instance_path and is_shared_block_storage):
# NOTE(mikal): live migration of instances using config drive is
# not supported because of a bug in libvirt (read only devices
# are not copied by libvirt). See bug/1246201
if configdrive.required_by(instance):
raise exception.NoLiveMigrationForConfigDriveInLibVirt()
The issue, I believe, was caused by commit bc45c56f1, which separated
checks for shared instance directories and shared block storage
backends like Ceph. The issue is that if a deployer is not using
Ceph, the call to
self.image_backend.backend().is_shared_block_storage() returns False.
However, is_shared_block_storage should not even be considered if the
image backend is a file-based one.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1351002/+subscriptions
Follow ups
References