Bug 2121262

Summary: virt-xml-validate failed to validate the scsihost node device XML with 'vport_ops' capability
Product: Red Hat Enterprise Linux 9 Reporter: Han Han <hhan>
Component: libvirtAssignee: Peter Krempa <pkrempa>
libvirt sub component: General QA Contact: Han Han <hhan>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: jdenemar, lmen, meili, pkrempa, virt-maint, xuzhang, yalzhang
Version: 9.1Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-8.8.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-09 07:27:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version: 8.8.0
Embargoed:

Description Han Han 2022-08-25 02:29:41 UTC
Description of problem:
As subject

Version-Release number of selected component (if applicable):
libvirt-8.5.0-5.el9.x86_64
qemu-kvm-7.0.0-11.el9.x86_64

How reproducible:
100%

Steps to Reproduce:
Validate the SCSI host XML dumped from a SCSI host node device:
<device>
  <name>scsi_host12</name>
  <path>/sys/devices/pci0000:00/0000:00:03.2/0000:06:00.1/host12</path>
  <parent>pci_0000_06_00_1</parent>
  <capability type='scsi_host'>
    <host>12</host>
    <unique_id>12</unique_id>
    <capability type='fc_host'>
      <wwnn>2000f4e9d4eb02c9</wwnn>
      <wwpn>2001f4e9d4eb02c9</wwpn>
      <fabric_wwn>2001547feebe79c1</fabric_wwn>
    </capability>
    <capability type='vport_ops'>
      <max_vports>254</max_vports>
      <vports>0</vports>
    </capability>
  </capability>
</device>

➜  ~ virt-xml-validate /tmp/unique_id.xml
/tmp/unique_id.xml:7: element unique_id: Relax-NG validity error : Element capability has extra content: unique_id
/tmp/unique_id.xml fails to validate


Actual results:
As above

Expected results:
No error

Additional info:

Comment 1 Peter Krempa 2022-08-25 08:24:44 UTC
The actual error from a more capable validator is:

/tmp/unique.xml:13:34: error: value of attribute "type" is invalid; must be equal to "fc_host" or "vports_ops"

The XML in the example has 'vport_ops' rather than 'vports_ops' (missing 's') as a type.

Looks like a typo in the schema.

Comment 2 Peter Krempa 2022-09-01 11:23:13 UTC
Fixed upstream:

commit 4328018bd0cdb704cdcdbf98c710a8814d0831d9
Author: Peter Krempa <pkrempa>
Date:   Thu Aug 25 10:34:58 2022 +0200

    schema: nodedev: Fix schema attribute value for the 'vport_ops' capability
    
    The code (since 448be8f706693327d77) useds 'vport_ops' in XML.
    Later commit cc17f09246212ef added schema for 'vports_ops' (extra 's').
    Fix the schema and the corresponding docs.
    
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2121262
    Signed-off-by: Peter Krempa <pkrempa>
    Reviewed-by: Ján Tomko <jtomko>

v8.7.0-13-g4328018bd0

Comment 3 Han Han 2022-10-08 02:03:32 UTC
Tested by https://github.com/qiankehan/libvirt-scripts/blob/main/validate_all_xml on v8.8.0-102-g8ef8d9e21b. PASS

Comment 7 Han Han 2022-11-07 10:27:19 UTC
Tested on libvirt-8.9.0-2.el9.x86_64. PASS

Comment 9 errata-xmlrpc 2023-05-09 07:27:05 UTC
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 (libvirt bug fix and enhancement update), 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://access.redhat.com/errata/RHBA-2023:2171