Support virtio-scsi multiqueue for improved I/O performance on nova's guests

Registered by Jorge San Emeterio

Add support to enable the virtio-scsi multiqueue feature on nova's guest instances.

With virtio-scsi multiqueue enabled, each vCPU will get their own queue and interrupts independently from the others, thus improving I/O performance in most cases. The libvirt driver will stick to a single queue by default, although indicating more than one will activate the feature with that many queues.

To control this feature, the following property will be added to a flavor extra specs:
hw:scsi_queues = 1 (unsigned integer & > 0)

For this property to be considered, these other two need to be set:
hw:disk_bus = virtio
hw:scsi_model = virtio-scsi

The setting can be overriden through an image metadata property:
hw_scsi_queues = 1 (unsigned integer & > 0)

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Jorge San Emeterio
Direction:
Needs approval
Assignee:
Jorge San Emeterio
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.