libvirt/docs/schemas
John Ferlan 2b13361bc7 nodedev: Add the ability to create vHBA by parent wwnn/wwpn or fabric_wwn
https://bugzilla.redhat.com/show_bug.cgi?id=1349696

When creating a vHBA, the process is to feed XML to nodeDeviceCreateXML
that lists the <parent> scsi_hostX to use to create the vHBA. However,
between reboots, it's possible that the <parent> changes its scsi_hostX
to scsi_hostY and saved XML to perform the creation will either fail or
create a vHBA using the wrong parent.

So add the ability to provide "wwnn" and "wwpn" or "fabric_wwn" to
the <parent> instead of a name of the scsi_hostN that is the parent.
The allowed XML will thus be:

  <parent>scsi_host3</parent>  (current)

or

  <parent wwnn='$WWNN' wwpn='$WWPN'/>

or

  <parent fabric_wwn='$WWNN'/>

Using the wwnn/wwpn or fabric_wwn ensures the same 'scsi_hostN' is
selected between hardware reconfigs or host reboots. The fabric_wwn
Using the wwnn/wwpn pair will provide the most specific search option,
while fabric_wwn will at least ensure usage of the same SAN, but maybe
not the same scsi_hostN.

This patch will add the new fields to the nodedev.rng for input purposes
only since the input XML is essentially thrown away, no need to Format
the values since they'd already be printed as part of the scsi_host
data block.

New API virNodeDeviceGetParentHostByWWNs will take the parent "wwnn" and
"wwpn" in order to search the list of devices for matching capability
data fields wwnn and wwpn.

New API virNodeDeviceGetParentHostByFabricWWN will take the parent "fabric_wwn"
in order to search the list of devices for matching capability data field
fabric_wwn.
2017-01-06 17:14:12 -05:00
..
basictypes.rng schema: Don't validate paths 2016-08-12 10:59:21 +02:00
capability.rng
cputypes.rng schema: Separate CPU related definitions into cputypes.rng 2016-09-22 15:40:08 +02:00
domain.rng
domaincaps.rng Show host model in domain capabilities 2016-09-22 15:40:08 +02:00
domaincommon.rng perf: add ref_cpu_cycles perf event support 2016-12-15 17:32:03 -05:00
domainsnapshot.rng
interface.rng interface: allow multiple IPv4 addresses + dhcp on a single interface 2015-05-22 10:14:01 -04:00
network.rng network: Add support for local PTR domains 2016-12-19 09:03:29 +01:00
networkcommon.rng schema: fix resolved interfaces of network type 2016-08-01 11:30:51 +02:00
nodedev.rng nodedev: Add the ability to create vHBA by parent wwnn/wwpn or fabric_wwn 2017-01-06 17:14:12 -05:00
nwfilter.rng schema: rename uint8range/uint24range to uint8/uint24 2016-04-14 14:00:33 -04:00
secret.rng conf: Add new secret type "tls" 2016-09-09 08:20:05 -04:00
storagecommon.rng encryption: Add <cipher> and <ivgen> to encryption 2016-07-01 15:46:57 -04:00
storagepool.rng conf: Add storage pool device attribute part_separator 2016-01-19 13:02:59 -05:00
storagevol.rng