Description of problem: When assigning a direct LUN with "SCSI Pass-Through" fails with error "libvirtError: unsupported configuration: scsi-block 'lun' devices do not support the serial property" in 7.2 hosts. ========== Thread-227::DEBUG::2015-12-15 14:44:09,413::vm::4030::vm.Vm::(hotplugDisk) vmId=`3d1cac46-71df-4e08-9aba-48f72ab97df8`::Hotplug disk xml: <disk device="lun" sgio="filtered" snapshot="no" type="block"> <address bus="0" controller="0" target="0" type="drive" unit="1"/> <source dev="/dev/mapper/3600140560987fd5d50a4b0ca17a0168a"/> <target bus="scsi" dev="sdc"/> <serial></serial> <driver cache="none" error_policy="stop" io="native" name="qemu" type="raw"/> </disk> Thread-227::DEBUG::2015-12-15 14:44:09,517::libvirtconnection::151::root::(wrapper) Unknown libvirterror: ecode: 67 edom: 10 level: 2 message: unsupported configuration: scsi-block 'lun' devices do not support the serial property ======= As per the bug #1021480 <serial> is no longer supported for type='block' device='lun'. However RHEV still passes the <serial></serial> to libvirt for these devices which fails with the mentioned error. Version-Release number of selected component (if applicable): Red Hat Enterprise Virtualization Hypervisor release 7.2 (20151129.1.el7ev) libvirt-1.2.17-13.el7.x86_64 rhevm-backend-3.5.6.2-0.1.el6ev.noarch How reproducible: 100% Steps to Reproduce: 1. Assign a Direct Lun to a VM with interface "Virtio-SCSI" and "Enable SCSI Pass-Through". 2. Operation fails with "unsupported configuration: scsi-block 'lun' devices do not support the serial property" Actual results: Assign a Direct Lun with SCSI Pass-Through fails. Expected results: Assign a Direct Lun with SCSI Pass-Through should work Additional info:
Eric, seems that libvirt changed the behavior in an incompatible way, breaking RHEV and other users that used to specify <serial> for lun devices (bug 1021480). Shouldn't we expect libvirt apis to be backward compatible?
(In reply to Nir Soffer from comment #2) > Eric, seems that libvirt changed the behavior in an incompatible way, > breaking > RHEV and other users that used to specify <serial> for lun devices (bug > 1021480). > > Shouldn't we expect libvirt apis to be backward compatible? Was the <serial> specification previously honored, or just ignored? Libvirt (tries to) guarantee that if something was documented as working, and has a guest-visible effect, then it will continue to work. But if the tag was merely ignored previously and now loudly diagnosed as being extraneous, then it is not a guest-visible change, and a bit fuzzier on whether libvirt should have changed behavior. At any rate, please raise this on the mailing list, with the problematic XML that libvirt used to parse.
It looks like a minor fix though important enough (VMs can not run), probably worth to target this to 3.6.3
(In reply to Eric Blake from comment #3) Thanks Eric, we decided to fix this (2 lines fix including the test) on our side. I'll raise this issue in the libvirt list, mainly to understand how we can get notifications for such changes before they are released.
(In reply to Maor from comment #5) > It looks like a minor fix though important enough (VMs can not run), > probably worth to target this to 3.6.3 This breaks current customers for 3.5.6 - We should backport this trivial patch to (oVirt) 3.6.3 and 3.5.8 assuming it doesn't break EL6 users.
Reproduced with =============== rhevm-3.6.2.5-0.1.el6.noarch vdsm-4.17.17-0.el7ev.noarch libvirt-client-1.2.17-13.el7_2.2.x86_64 Steps to Reproduce: =================== 1. Assign a Direct Lun to a VM with interface "Virtio-SCSI" and "Enable SCSI Pass-Through". 2. Operation fails with "unsupported configuration: scsi-block 'lun' devices do not support the serial property"
This bug contains only vdsm patches, but component is ovirt-engine, please update the component or replace external trackers with engine.
(In reply to Eyal Edri from comment #10) > This bug contains only vdsm patches, but component is ovirt-engine, > please update the component or replace external trackers with engine. Indeed, should be VDSM. Thanks for noticing!
Verified with =============== rhevm-3.6.2.6-0.1.el6.noarch vdsm-4.17.18-0.el7ev.noarch libvirt-client-1.2.17-13.el7_2.2.x86_64 Steps to Reproduce: =================== 1. Assign a Direct Lun to a VM with interface "Virtio-SCSI" and "Enable SCSI Pass-Through". 2. Operation fails with "unsupported configuration: scsi-block 'lun' devices do not support the serial property"
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-0362.html