yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #68991
[Bug 1524301] Re: image_meta scsi model ignored
It's have been fixed in last Ocata release (nova 15.0.7)
** Changed in: nova
Status: Triaged => Fix Released
--
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/1524301
Title:
image_meta scsi model ignored
Status in OpenStack Compute (nova):
Fix Released
Bug description:
Hi,
We use virtio-scsi by adding into our glance image properties hw_scsi_model=virtio-scsi and hw_disk_bus=scsi
It works well most of the times, but when the instance got more than
six disks attached, additional disk doesn't have virtio-scsi enabled.
I have dig into the issue, nova seems generated a correct xml with "one" virtio-scsi and attached disks to it but libvirt transforms the xml. It adds another scsi controller (that use 53c895a driver instead of virtio-scsi) and attach some disks to
this controllers.
Extract of the bugged libvirt xml built by libvirt:
<controller type='scsi' index='0' model='virtio-scsi'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</controller>
<controller type='scsi' index='1'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>
Inside the vm, with lspci I see these controllers:
00:04.0 SCSI storage controller: Red Hat, Inc Virtio SCSI
00:05.0 SCSI storage controller: LSI Logic / Symbios Logic 53c895a
Some disks are attached to pci-00:04.0 and some other to pci-00:05.0 .
Our current workaround is:
--- nova/virt/libvirt/driver.py.orig 2015-12-09 12:18:49.016279849 +0100
+++ nova/virt/libvirt/driver.py 2015-12-09 12:19:47.042987865 +0100
@@ -3247,10 +3269,12 @@
if (image_meta and
image_meta.get('properties', {}).get('hw_scsi_model')):
hw_scsi_model = image_meta['properties']['hw_scsi_model']
- scsi_controller = vconfig.LibvirtConfigGuestController()
- scsi_controller.type = 'scsi'
- scsi_controller.model = hw_scsi_model
- devices.append(scsi_controller)
+ for i in range(0, 3):
+ scsi_controller = vconfig.LibvirtConfigGuestController()
+ scsi_controller.type = 'scsi'
+ scsi_controller.index = i
+ scsi_controller.model = hw_scsi_model
+ devices.append(scsi_controller)
Cheers,
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1524301/+subscriptions
References