2010-11-12 13:23:55 +00:00
|
|
|
<?xml version="1.0"?>
|
2009-08-05 09:56:56 +00:00
|
|
|
<!-- A Relax NG schema for the libvirt storage pool XML format -->
|
2009-01-27 15:29:53 +00:00
|
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
|
|
|
|
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
xml: share 'unit' in RNG
The code supported unit='E' for "exabyte", but the RNG did not;
conversely, the RNG supported "z" and "y" but the code did not
(I'm jealous if you have that much storage, particularly since
it won't fit in 64-bit off_t). Also, the code supported
<allocation unit='...'>, but not the RNG.
In an effort to make 'unit' more worthwhile in future patches,
it's easier to share it between files.
In making this factorization, note that absFilePath is more
permissive than 'path', so storage pools and storage volumes
will now validate with a wider set of file names than before.
I don't think this should be a problem in practice.
* docs/schemas/storagepool.rng: Include basic types, rather than
repeating things here.
* docs/schemas/storagevol.rng: Likewise.
* docs/schemas/basictypes.rng: Add 'unsignedLong', 'unit', and fix
to match storage code.
2012-02-29 04:16:28 +00:00
|
|
|
<include href='basictypes.rng'/>
|
2014-12-10 12:54:10 +00:00
|
|
|
<include href='storagecommon.rng'/>
|
2009-01-27 15:29:53 +00:00
|
|
|
<start>
|
|
|
|
<ref name='pool'/>
|
|
|
|
</start>
|
|
|
|
|
|
|
|
|
|
|
|
<define name='pool'>
|
|
|
|
<element name='pool'>
|
|
|
|
<choice>
|
2010-03-01 19:09:26 +00:00
|
|
|
<ref name='pooldir'/>
|
|
|
|
<ref name='poolfs'/>
|
|
|
|
<ref name='poolnetfs'/>
|
|
|
|
<ref name='poollogical'/>
|
|
|
|
<ref name='pooldisk'/>
|
|
|
|
<ref name='pooliscsi'/>
|
2018-07-31 08:44:21 +00:00
|
|
|
<ref name='pooliscsidirect'/>
|
2010-03-01 19:09:26 +00:00
|
|
|
<ref name='poolscsi'/>
|
|
|
|
<ref name='poolmpath'/>
|
2012-05-14 09:06:42 +00:00
|
|
|
<ref name='poolrbd'/>
|
2012-07-18 19:06:58 +00:00
|
|
|
<ref name='poolsheepdog'/>
|
2013-10-15 23:06:18 +00:00
|
|
|
<ref name='poolgluster'/>
|
2014-07-21 14:38:42 +00:00
|
|
|
<ref name='poolzfs'/>
|
2017-01-17 14:10:59 +00:00
|
|
|
<ref name='poolvstorage'/>
|
2009-01-27 15:29:53 +00:00
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='pooldir'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>dir</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcedir'/>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='poolfs'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>fs</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcefs'/>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
2019-01-07 22:14:57 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='fs_mount_opts'/>
|
|
|
|
</optional>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='poolnetfs'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>netfs</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcenetfs'/>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
2019-01-07 22:14:57 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='fs_mount_opts'/>
|
|
|
|
</optional>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='poollogical'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>logical</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
2017-03-28 13:07:50 +00:00
|
|
|
<ref name='commonMetadataNameOptional'/>
|
2013-10-15 22:59:48 +00:00
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcelogical'/>
|
|
|
|
<ref name='targetlogical'/>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='pooldisk'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>disk</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcedisk'/>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='pooliscsi'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>iscsi</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourceiscsi'/>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
2018-07-31 08:44:21 +00:00
|
|
|
<define name='pooliscsidirect'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>iscsi-direct</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
</optional>
|
|
|
|
<ref name='sourceiscsidirect'/>
|
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='poolscsi'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>scsi</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcescsi'/>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
2009-10-08 22:06:10 +00:00
|
|
|
<define name='poolmpath'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>mpath</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='commonmetadata'/>
|
|
|
|
<ref name='sizing'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourcempath'/>
|
|
|
|
</optional>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
2009-10-08 22:06:10 +00:00
|
|
|
</define>
|
|
|
|
|
2012-05-14 09:06:42 +00:00
|
|
|
<define name='poolrbd'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>rbd</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
2017-03-28 13:07:50 +00:00
|
|
|
<ref name='commonMetadataNameOptional'/>
|
2013-10-15 22:59:48 +00:00
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcerbd'/>
|
2019-03-19 13:42:17 +00:00
|
|
|
<ref name='refresh'/>
|
2013-10-15 22:59:48 +00:00
|
|
|
</interleave>
|
2019-01-08 14:28:03 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='rbd_config_opts'/>
|
|
|
|
</optional>
|
2012-05-14 09:06:42 +00:00
|
|
|
</define>
|
|
|
|
|
2012-07-18 19:06:58 +00:00
|
|
|
<define name='poolsheepdog'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>sheepdog</value>
|
|
|
|
</attribute>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
2017-03-28 13:07:50 +00:00
|
|
|
<ref name='commonMetadataNameOptional'/>
|
2013-10-15 22:59:48 +00:00
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcesheepdog'/>
|
|
|
|
</interleave>
|
2012-07-18 19:06:58 +00:00
|
|
|
</define>
|
|
|
|
|
2013-10-15 23:06:18 +00:00
|
|
|
<define name='poolgluster'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>gluster</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
2017-03-28 13:07:50 +00:00
|
|
|
<ref name='commonMetadataNameOptional'/>
|
2013-10-15 23:06:18 +00:00
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcegluster'/>
|
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
|
2014-07-21 14:38:42 +00:00
|
|
|
<define name='poolzfs'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>zfs</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
2017-03-28 13:07:50 +00:00
|
|
|
<ref name='commonMetadataNameOptional'/>
|
2014-07-21 14:38:42 +00:00
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcezfs'/>
|
2014-09-07 14:01:34 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='target'/>
|
|
|
|
</optional>
|
2014-07-21 14:38:42 +00:00
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
|
2017-01-17 14:10:59 +00:00
|
|
|
<define name='poolvstorage'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>vstorage</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
2017-03-28 13:07:50 +00:00
|
|
|
<ref name='commonMetadataNameOptional'/>
|
2017-01-17 14:10:59 +00:00
|
|
|
<ref name='sizing'/>
|
|
|
|
<ref name='sourcevstorage'/>
|
|
|
|
<ref name='target'/>
|
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
|
2010-08-17 17:44:27 +00:00
|
|
|
<define name='sourceinfovendor'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name='vendor'>
|
|
|
|
<attribute name='name'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<element name='product'>
|
|
|
|
<attribute name='name'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2010-08-17 17:44:27 +00:00
|
|
|
</define>
|
|
|
|
|
2017-03-28 13:07:50 +00:00
|
|
|
<define name='commonMetadataNameOptional'>
|
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name='name'>
|
2017-10-03 11:14:04 +00:00
|
|
|
<ref name='poolName'/>
|
2017-03-28 13:07:50 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<element name='uuid'>
|
|
|
|
<ref name='UUID'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='commonmetadata'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<element name='name'>
|
2017-10-03 11:14:04 +00:00
|
|
|
<ref name='poolName'/>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
2013-10-15 22:59:48 +00:00
|
|
|
<optional>
|
|
|
|
<element name='uuid'>
|
|
|
|
<ref name='UUID'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sizing'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name='capacity'>
|
|
|
|
<ref name='scaledInteger'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<element name='allocation'>
|
|
|
|
<ref name='scaledInteger'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<element name='available'>
|
|
|
|
<ref name='scaledInteger'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='target'>
|
|
|
|
<element name='target'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<element name='path'>
|
|
|
|
<ref name='absFilePath'/>
|
|
|
|
</element>
|
|
|
|
<ref name='permissions'/>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2013-04-30 11:48:46 +00:00
|
|
|
<define name='targetlogical'>
|
|
|
|
<element name='target'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name='path'>
|
|
|
|
<ref name='absFilePath'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<ref name='permissions'/>
|
|
|
|
</interleave>
|
2013-04-30 11:48:46 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='sourceinfohost'>
|
2012-05-14 09:06:42 +00:00
|
|
|
<oneOrMore>
|
|
|
|
<element name='host'>
|
|
|
|
<attribute name='name'>
|
|
|
|
<text/>
|
2010-11-12 13:23:55 +00:00
|
|
|
</attribute>
|
2012-05-14 09:06:42 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name='port'>
|
|
|
|
<ref name="PortNumber"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</oneOrMore>
|
2009-01-27 15:29:53 +00:00
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sourceinfodev'>
|
|
|
|
<element name='device'>
|
|
|
|
<attribute name='path'>
|
2010-03-01 19:09:26 +00:00
|
|
|
<choice>
|
xml: share 'unit' in RNG
The code supported unit='E' for "exabyte", but the RNG did not;
conversely, the RNG supported "z" and "y" but the code did not
(I'm jealous if you have that much storage, particularly since
it won't fit in 64-bit off_t). Also, the code supported
<allocation unit='...'>, but not the RNG.
In an effort to make 'unit' more worthwhile in future patches,
it's easier to share it between files.
In making this factorization, note that absFilePath is more
permissive than 'path', so storage pools and storage volumes
will now validate with a wider set of file names than before.
I don't think this should be a problem in practice.
* docs/schemas/storagepool.rng: Include basic types, rather than
repeating things here.
* docs/schemas/storagevol.rng: Likewise.
* docs/schemas/basictypes.rng: Add 'unsignedLong', 'unit', and fix
to match storage code.
2012-02-29 04:16:28 +00:00
|
|
|
<ref name='absFilePath'/>
|
2013-01-23 11:04:33 +00:00
|
|
|
<ref name='genericName'/>
|
2013-03-20 10:45:29 +00:00
|
|
|
<ref name='IscsiQualifiedName'/>
|
2010-03-01 19:09:26 +00:00
|
|
|
</choice>
|
2009-01-27 15:29:53 +00:00
|
|
|
</attribute>
|
|
|
|
<choice>
|
2010-03-01 19:09:26 +00:00
|
|
|
<empty/>
|
|
|
|
<ref name='devextents'/>
|
2009-01-27 15:29:53 +00:00
|
|
|
</choice>
|
2016-01-07 11:57:28 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="part_separator">
|
|
|
|
<ref name="virYesNo"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2018-07-31 08:44:21 +00:00
|
|
|
<define name='sourceinfodeviscsidirect'>
|
|
|
|
<element name='device'>
|
|
|
|
<attribute name='path'>
|
|
|
|
<ref name='IscsiQualifiedName'/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='devextents'>
|
|
|
|
<oneOrMore>
|
|
|
|
<element name='freeExtent'>
|
2010-03-01 19:09:26 +00:00
|
|
|
<attribute name='start'>
|
xml: share 'unit' in RNG
The code supported unit='E' for "exabyte", but the RNG did not;
conversely, the RNG supported "z" and "y" but the code did not
(I'm jealous if you have that much storage, particularly since
it won't fit in 64-bit off_t). Also, the code supported
<allocation unit='...'>, but not the RNG.
In an effort to make 'unit' more worthwhile in future patches,
it's easier to share it between files.
In making this factorization, note that absFilePath is more
permissive than 'path', so storage pools and storage volumes
will now validate with a wider set of file names than before.
I don't think this should be a problem in practice.
* docs/schemas/storagepool.rng: Include basic types, rather than
repeating things here.
* docs/schemas/storagevol.rng: Likewise.
* docs/schemas/basictypes.rng: Add 'unsignedLong', 'unit', and fix
to match storage code.
2012-02-29 04:16:28 +00:00
|
|
|
<ref name='unsignedLong'/>
|
2010-03-01 19:09:26 +00:00
|
|
|
</attribute>
|
|
|
|
<attribute name='end'>
|
xml: share 'unit' in RNG
The code supported unit='E' for "exabyte", but the RNG did not;
conversely, the RNG supported "z" and "y" but the code did not
(I'm jealous if you have that much storage, particularly since
it won't fit in 64-bit off_t). Also, the code supported
<allocation unit='...'>, but not the RNG.
In an effort to make 'unit' more worthwhile in future patches,
it's easier to share it between files.
In making this factorization, note that absFilePath is more
permissive than 'path', so storage pools and storage volumes
will now validate with a wider set of file names than before.
I don't think this should be a problem in practice.
* docs/schemas/storagepool.rng: Include basic types, rather than
repeating things here.
* docs/schemas/storagevol.rng: Likewise.
* docs/schemas/basictypes.rng: Add 'unsignedLong', 'unit', and fix
to match storage code.
2012-02-29 04:16:28 +00:00
|
|
|
<ref name='unsignedLong'/>
|
2010-03-01 19:09:26 +00:00
|
|
|
</attribute>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</oneOrMore>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sourceinfodir'>
|
|
|
|
<element name='dir'>
|
|
|
|
<attribute name='path'>
|
2013-10-15 23:06:18 +00:00
|
|
|
<ref name='absDirPath'/>
|
2009-01-27 15:29:53 +00:00
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2015-06-03 15:43:00 +00:00
|
|
|
<define name='sourceinfonetrelativepath'>
|
2014-05-28 13:47:38 +00:00
|
|
|
<element name='dir'>
|
|
|
|
<attribute name='path'>
|
|
|
|
<ref name='dirPath'/>
|
|
|
|
</attribute>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='sourceinfoname'>
|
|
|
|
<element name='name'>
|
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-10-08 22:06:10 +00:00
|
|
|
<define name='sourceinfoauth'>
|
|
|
|
<element name='auth'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<choice>
|
|
|
|
<value>chap</value>
|
2012-05-14 09:06:42 +00:00
|
|
|
<value>ceph</value>
|
2009-10-08 22:06:10 +00:00
|
|
|
</choice>
|
|
|
|
</attribute>
|
2013-07-13 18:29:55 +00:00
|
|
|
<attribute name='username'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<ref name='sourceinfoauthsecret'/>
|
2012-05-14 09:06:42 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sourceinfoauthsecret'>
|
|
|
|
<element name='secret'>
|
|
|
|
<choice>
|
|
|
|
<attribute name='uuid'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name='usage'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</choice>
|
2009-10-08 22:06:10 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2014-07-21 14:38:42 +00:00
|
|
|
<define name='sourcezfs'>
|
|
|
|
<element name='source'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfoname'/>
|
2014-09-07 14:01:34 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfodev'/>
|
|
|
|
</optional>
|
2014-07-21 14:38:42 +00:00
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2017-01-17 14:10:59 +00:00
|
|
|
<define name='sourcevstorage'>
|
|
|
|
<element name='source'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfoname'/>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='sourcefmtfs'>
|
|
|
|
<optional>
|
|
|
|
<element name='format'>
|
2010-03-01 19:09:26 +00:00
|
|
|
<attribute name='type'>
|
|
|
|
<choice>
|
|
|
|
<value>auto</value>
|
|
|
|
<value>ext2</value>
|
|
|
|
<value>ext3</value>
|
2009-01-27 15:29:53 +00:00
|
|
|
<value>ext4</value>
|
2010-03-01 19:09:26 +00:00
|
|
|
<value>ufs</value>
|
|
|
|
<value>iso9660</value>
|
|
|
|
<value>udf</value>
|
2009-01-27 15:29:53 +00:00
|
|
|
<value>gfs</value>
|
2010-03-01 19:09:26 +00:00
|
|
|
<value>gfs2</value>
|
|
|
|
<value>vfat</value>
|
|
|
|
<value>hfs+</value>
|
|
|
|
<value>xfs</value>
|
|
|
|
<value>ocfs2</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
|
|
|
|
<define name='sourcefmtnetfs'>
|
|
|
|
<optional>
|
|
|
|
<element name='format'>
|
2010-03-01 19:09:26 +00:00
|
|
|
<attribute name='type'>
|
|
|
|
<choice>
|
|
|
|
<value>auto</value>
|
|
|
|
<value>nfs</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
|
|
|
|
<define name='sourcefmtdisk'>
|
|
|
|
<optional>
|
|
|
|
<element name='format'>
|
2010-03-01 19:09:26 +00:00
|
|
|
<attribute name='type'>
|
|
|
|
<choice>
|
2015-06-08 12:15:17 +00:00
|
|
|
<value>unknown</value>
|
2010-03-01 19:09:26 +00:00
|
|
|
<value>dos</value>
|
|
|
|
<value>dvh</value>
|
|
|
|
<value>gpt</value>
|
|
|
|
<value>mac</value>
|
|
|
|
<value>bsd</value>
|
|
|
|
<value>pc98</value>
|
|
|
|
<value>sun</value>
|
|
|
|
<value>lvm2</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2010-08-17 17:44:27 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfovendor'/>
|
|
|
|
</optional>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
|
|
|
|
<define name='sourcefmtlogical'>
|
|
|
|
<optional>
|
|
|
|
<element name='format'>
|
2010-03-01 19:09:26 +00:00
|
|
|
<attribute name='type'>
|
|
|
|
<choice>
|
2014-09-25 14:26:18 +00:00
|
|
|
<value>unknown</value> <!-- back-compat requires keeping 'unknown' not 'auto' -->
|
2010-03-01 19:09:26 +00:00
|
|
|
<value>lvm2</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
2010-08-17 17:44:27 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfovendor'/>
|
|
|
|
</optional>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
|
|
|
|
<define name='sourcedir'>
|
|
|
|
<optional>
|
|
|
|
<element name='source'>
|
2010-03-01 19:09:26 +00:00
|
|
|
<empty/>
|
2010-08-17 17:44:27 +00:00
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfovendor'/>
|
|
|
|
</optional>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
2010-08-17 17:44:27 +00:00
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='sourcefs'>
|
|
|
|
<element name='source'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfodev'/>
|
|
|
|
<ref name='sourcefmtfs'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfovendor'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sourcenetfs'>
|
|
|
|
<element name='source'>
|
2014-05-28 13:47:38 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfohost'/>
|
|
|
|
<ref name='sourceinfodir'/>
|
|
|
|
<ref name='sourcefmtnetfs'/>
|
2019-01-11 00:23:27 +00:00
|
|
|
<optional>
|
|
|
|
<element name='protocol'>
|
|
|
|
<attribute name='ver'>
|
|
|
|
<ref name='unsignedInt'/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</optional>
|
2014-05-28 13:47:38 +00:00
|
|
|
<optional>
|
2017-09-07 10:16:04 +00:00
|
|
|
<ref name='sourceinfovendor'/>
|
2014-05-28 13:47:38 +00:00
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfohost'/>
|
2015-06-03 15:43:00 +00:00
|
|
|
<ref name='sourceinfonetrelativepath'/>
|
2014-05-28 13:47:38 +00:00
|
|
|
<element name='format'>
|
|
|
|
<attribute name='type'>
|
2015-06-03 15:43:00 +00:00
|
|
|
<choice>
|
|
|
|
<value>cifs</value>
|
|
|
|
<value>glusterfs</value>
|
|
|
|
</choice>
|
2014-05-28 13:47:38 +00:00
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
<optional>
|
2017-09-07 10:16:04 +00:00
|
|
|
<ref name='sourceinfovendor'/>
|
2014-05-28 13:47:38 +00:00
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
|
|
|
</choice>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sourcelogical'>
|
|
|
|
<element name='source'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<oneOrMore>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfoname'/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfodev'/>
|
|
|
|
</optional>
|
|
|
|
</oneOrMore>
|
|
|
|
<ref name='sourcefmtlogical'/>
|
2009-10-08 22:06:10 +00:00
|
|
|
<optional>
|
2013-10-15 22:59:48 +00:00
|
|
|
<ref name='sourceinfovendor'/>
|
2009-10-08 22:06:10 +00:00
|
|
|
</optional>
|
2013-10-15 22:59:48 +00:00
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sourcedisk'>
|
|
|
|
<element name='source'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfodev'/>
|
|
|
|
<ref name='sourcefmtdisk'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfovendor'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='sourceiscsi'>
|
|
|
|
<element name='source'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfohost'/>
|
|
|
|
<ref name='sourceinfodev'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='initiatorinfo'/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfoauth'/>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfovendor'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2018-07-31 08:44:21 +00:00
|
|
|
<define name='sourceiscsidirect'>
|
|
|
|
<element name='source'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfohost'/>
|
|
|
|
<ref name='sourceinfodeviscsidirect'/>
|
|
|
|
<ref name='initiatorinfo'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfoauth'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
<define name='sourcescsi'>
|
|
|
|
<element name='source'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfoadapter'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfovendor'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2009-01-27 15:29:53 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-10-08 22:06:10 +00:00
|
|
|
<define name='sourcempath'>
|
|
|
|
<element name='source'>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
2009-01-27 15:29:53 +00:00
|
|
|
|
2012-05-14 09:06:42 +00:00
|
|
|
<define name='sourcerbd'>
|
|
|
|
<element name='source'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfoname'/>
|
|
|
|
<ref name='sourceinfohost'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfoauth'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2012-05-14 09:06:42 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2012-07-18 19:06:58 +00:00
|
|
|
<define name='sourcesheepdog'>
|
|
|
|
<element name='source'>
|
2013-10-15 22:59:48 +00:00
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfohost'/>
|
|
|
|
<ref name='sourceinfoname'/>
|
|
|
|
</interleave>
|
2012-07-18 19:06:58 +00:00
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2013-10-15 23:06:18 +00:00
|
|
|
<define name='sourcegluster'>
|
|
|
|
<element name='source'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='sourceinfohost'/>
|
|
|
|
<ref name='sourceinfoname'/>
|
|
|
|
<optional>
|
|
|
|
<ref name='sourceinfodir'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2013-03-20 10:45:29 +00:00
|
|
|
<define name='IscsiQualifiedName'>
|
|
|
|
<data type='string'>
|
|
|
|
<param name="pattern">iqn\.[0-9]{4}-(0[1-9]|1[0-2])\.[a-zA-Z0-9\.\-]+(:.+)?</param>
|
|
|
|
</data>
|
|
|
|
</define>
|
|
|
|
|
2019-03-19 13:42:17 +00:00
|
|
|
<define name='refresh'>
|
|
|
|
<optional>
|
|
|
|
<element name='refresh'>
|
|
|
|
<interleave>
|
|
|
|
<ref name='refreshVolume'/>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='refreshVolume'>
|
|
|
|
<optional>
|
|
|
|
<element name='volume'>
|
|
|
|
<optional>
|
|
|
|
<attribute name='allocation'>
|
|
|
|
<ref name="refreshVolumeAllocation"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
2019-01-07 22:14:57 +00:00
|
|
|
<!--
|
|
|
|
Optional storage pool extensions in their own namespace:
|
|
|
|
"fs" or "netfs"
|
|
|
|
-->
|
|
|
|
|
|
|
|
<define name="fs_mount_opts">
|
2019-01-31 11:14:09 +00:00
|
|
|
<element name="mount_opts" ns="http://libvirt.org/schemas/storagepool/fs/1.0">
|
2019-01-07 22:14:57 +00:00
|
|
|
<zeroOrMore>
|
|
|
|
<element name="option">
|
|
|
|
<attribute name='name'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2019-01-08 14:28:03 +00:00
|
|
|
<!--
|
|
|
|
Optional storage pool extensions in their own namespace:
|
|
|
|
RBD
|
|
|
|
-->
|
|
|
|
|
|
|
|
<define name="rbd_config_opts">
|
2019-01-31 11:14:09 +00:00
|
|
|
<element name="config_opts" ns="http://libvirt.org/schemas/storagepool/rbd/1.0">
|
2019-01-08 14:28:03 +00:00
|
|
|
<zeroOrMore>
|
|
|
|
<element name="option">
|
|
|
|
<attribute name='name'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name='value'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2009-01-27 15:29:53 +00:00
|
|
|
</grammar>
|