← Back to team overview

yahoo-eng-team team mailing list archive

[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