Fix blockio generation for LUN volumes

QEMU's scsi-block device driver does not support physical_block_size
and logical_block_size properties. When Cinder reports disk geometry
for LUN volumes, Nova was incorrectly including a <blockio> element
in the libvirt XML, causing QEMU to fail with:

    Property 'scsi-block.physical_block_size' not found

This fix adds a check to skip blockio generation when source_device
is 'lun', following the existing pattern used for serial at line 1356.

Generated-By: claude-code (Claude Opus 4.5)
Closes-Bug: #2127196
Change-Id: Idf87e936edd97aac719222942c9842a9aca4c270
Signed-off-by: Sean Mooney <work@seanmooney.info>
This commit is contained in:
Sean Mooney
2026-02-03 16:53:30 +00:00
parent ba24639b8d
commit c8d34ed3dc
6 changed files with 223 additions and 3 deletions
@@ -0,0 +1,12 @@
---
fixes:
- |
`Bug 2127196`_ is fixed where Nova incorrectly generated a ``<blockio>``
element in libvirt XML for LUN volumes when Cinder reported disk geometry
(logical and physical block size). QEMU's ``scsi-block`` device driver
does not support ``physical_block_size`` and ``logical_block_size``
properties, causing instance spawn to fail with the error
``Property 'scsi-block.physical_block_size' not found``.
The ``<blockio>`` element is now omitted for LUN devices.
.. _Bug 2127196: https://bugs.launchpad.net/nova/+bug/2127196