[libvirt] [PATCH v2 8/8] hostdev: Add iSCSI hostdev XML
John Ferlan
jferlan at redhat.com
Tue Aug 5 12:00:29 UTC 2014
On 08/04/2014 02:21 PM, Eric Blake wrote:
<snip>
>> +++ b/docs/schemas/domaincommon.rng
>> @@ -3563,13 +3563,47 @@
>> </choice>
>> </attribute>
>> </optional>
>> + <optional>
>> + <ref name='diskAuth'/>
>> + </optional>
>
> Does diskAuth work for all configurations, or only for the new iscsi
> configuration? By putting it here, you are allowing it for all users,...
>
>> <element name="source">
>> - <interleave>
>> - <ref name="sourceinfoadapter"/>
>> - <element name="address">
>> - <ref name="scsiaddress"/>
>> - </element>
>> - </interleave>
>> + <optional>
>> + <attribute name="protocol">
>> + <choice>
>> + <value>iscsi</value>
>> + </choice>
>
> ...whereas using some <group> magic could make it valid only when
> protocol is iscsi.
>
>> + </attribute>
>> + <attribute name="name">
>> + <text/>
>> + </attribute>
>> + </optional>
>> + <choice>
>> + <group>
>> + <interleave>
>> + <ref name="sourceinfoadapter"/>
>> + <element name="address">
>> + <ref name="scsiaddress"/>
>> + </element>
>> + </interleave>
>> + </group>
>> + <group>
>> + <interleave>
>> + <oneOrMore>
>> + <element name='host'>
>> + <attribute name='name'>
>> + <text/>
>> + </attribute>
>> + <optional>
>> + <attribute name='port'>
>> + <ref name="PortNumber"/>
>> + </attribute>
>> + </optional>
>> + <empty/>
>> + </element>
>> + </oneOrMore>
>> + </interleave>
>
> This <interleave> adds nothing. It doesn't hurt to leave it in, but
> when there is only one possible (repetition of a) child "host"
> <element>, there is nothing to be interleaved.
>
>
Maybe perhaps sleep helped me figure this out... Is the following what
you had in mind? (and it passes make check too)
<define name="hostdevsubsysscsi">
<attribute name="type">
<value>scsi</value>
</attribute>
<optional>
<attribute name="sgio">
<choice>
<value>filtered</value>
<value>unfiltered</value>
</choice>
</attribute>
</optional>
<choice>
<group>
<element name="source">
<interleave>
<ref name="sourceinfoadapter"/>
<element name="address">
<ref name="scsiaddress"/>
</element>
</interleave>
</element>
</group>
<group>
<optional>
<ref name='diskAuth'/>
</optional>
<element name="source">
<attribute name="protocol">
<choice>
<value>iscsi</value>
</choice>
</attribute>
<attribute name="name">
<text/>
</attribute>
<interleave>
<oneOrMore>
<element name='host'>
<attribute name='name'>
<text/>
</attribute>
<optional>
<attribute name='port'>
<ref name="PortNumber"/>
</attribute>
</optional>
<empty/>
</element>
</oneOrMore>
</interleave>
</element>
</group>
</choice>
</define>
I suppose I could/should follow the disk and put auth after the source...
Would you like to see a v3? also including the extraneous spacing
change from the initial review of 5/8 and I had created a separate patch
on (which wasn't technically acked, so I didn't push):
http://www.redhat.com/archives/libvir-list/2014-July/msg01268.html
John
More information about the libvir-list
mailing list