Public bug reported: When live migrating (block_migrate), an instance, cinder volumes based on LVM, that are attached via iscsi to the compute node, are included within the MigrationPreCheck disk-size calculation. Because the cinder iscsi volume is just attached to the migration target node, these devices need to be skipped.
In the past only devices with type 'file' got included in that disk_size calculation; But with commit 5fa74bc0b2ab6fe5149a9b684b4beadb67877622 (Adds ephemeral storage encryption for LVM back-end images ), disks with type 'block' got included as well, which also includes iscsi devices. I experienced that with stable juno. I worked around that with this additional check: diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 0809f09..566b2b2 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -6000,6 +6000,10 @@ class LibvirtDriver(driver.ComputeDriver): 'volume', {'path': path, 'target': target}) continue + if disk_type == 'block' and path.find('iqn.2010-10.org.openstack') > 0: + LOG.debug('skipping disk because it looks like an iscsi volume', path) + continue + # get the real disk size or # raise a localized error if image is unavailable if disk_type == 'file': If this is the right place to exclude that disks, I can submit that little patch for review. Or you can point me to the right location for that and I'll give it a try. What do you think? ** Affects: nova Importance: Undecided Status: New -- 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/1428542 Title: Live Migration (block_migrate): "Disk of instance is too large", with cinder LVM based volume Status in OpenStack Compute (Nova): New Bug description: When live migrating (block_migrate), an instance, cinder volumes based on LVM, that are attached via iscsi to the compute node, are included within the MigrationPreCheck disk-size calculation. Because the cinder iscsi volume is just attached to the migration target node, these devices need to be skipped. In the past only devices with type 'file' got included in that disk_size calculation; But with commit 5fa74bc0b2ab6fe5149a9b684b4beadb67877622 (Adds ephemeral storage encryption for LVM back-end images ), disks with type 'block' got included as well, which also includes iscsi devices. I experienced that with stable juno. I worked around that with this additional check: diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 0809f09..566b2b2 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -6000,6 +6000,10 @@ class LibvirtDriver(driver.ComputeDriver): 'volume', {'path': path, 'target': target}) continue + if disk_type == 'block' and path.find('iqn.2010-10.org.openstack') > 0: + LOG.debug('skipping disk because it looks like an iscsi volume', path) + continue + # get the real disk size or # raise a localized error if image is unavailable if disk_type == 'file': If this is the right place to exclude that disks, I can submit that little patch for review. Or you can point me to the right location for that and I'll give it a try. What do you think? To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1428542/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp