[PATCH 6/7] schema: Add define for object names

Ján Tomko jtomko at redhat.com
Wed Jan 6 20:59:21 UTC 2021


On a Wednesday in 2021, Peter Krempa wrote:
>Objects such as domain, pool, etc re-define the regex for the format.
>Add more generic types for objects with/without a slash which we'll be
>able to reuse also for other objects.
>
>Signed-off-by: Peter Krempa <pkrempa at redhat.com>
>---
> docs/schemas/basictypes.rng    | 13 +++++++++++++
> docs/schemas/domaincommon.rng  | 17 +++++------------
> docs/schemas/storagecommon.rng |  6 ------
> docs/schemas/storagepool.rng   |  4 ++--
> 4 files changed, 20 insertions(+), 20 deletions(-)
>
>diff --git a/docs/schemas/basictypes.rng b/docs/schemas/basictypes.rng
>index fc52799466..a221ff6295 100644
>--- a/docs/schemas/basictypes.rng
>+++ b/docs/schemas/basictypes.rng
>@@ -261,6 +261,19 @@
>     </choice>
>   </define>
>
>+  <!-- objectName represents any generic string for naming objects like domain -->
>+  <define name="objectNameWithSlash">
>+    <data type="string">
>+      <param name="pattern">[^\n]+</param>
>+    </data>
>+  </define>
>+
>+  <define name="objectName">
>+    <data type="string">
>+      <param name="pattern">[^/\n]+</param>
>+    </data>
>+  </define>
>+
>   <define name="genericName">
>     <data type="string">
>       <param name="pattern">[a-zA-Z0-9_\+\-]+</param>
>diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
>index 39bed92115..4fc6a7ee7a 100644
>--- a/docs/schemas/domaincommon.rng
>+++ b/docs/schemas/domaincommon.rng
>@@ -18,9 +18,7 @@
>
>   <define name="title">
>     <element name="title">
>-      <data type="string">
>-        <param name="pattern">[^\n]+</param>
>-      </data>
>+      <ref name="objectNameWithSlash"/>
>     </element>
>   </define>
>
>@@ -559,7 +557,7 @@
>     </optional>
>     <interleave>
>       <element name="name">
>-        <ref name="domainName"/>
>+        <ref name="objectNameWithSlash"/>

This is the domain name and cannot contain a slash.

>       </element>
>       <optional>
>         <element name="uuid">
>@@ -1391,7 +1389,7 @@
>       <optional>
>         <element name="backenddomain">
>           <attribute name="name">
>-            <ref name="domainName"/>
>+            <ref name="objectNameWithSlash"/>

Added by:

     conf: support backend domain name in disk and network devices

     At least Xen supports backend drivers in another domain (aka "driver
     domain"). This patch introduces an XML config option for specifying the
     backend domain name for <disk> and <interface> devices.  E.g.

       <disk>
         <backenddomain name='diskvm'/>
         ...
       </disk>
       <interface type='bridge'>
         <backenddomain name='netvm'/>
         ...
       </interface>

I see no need to relax this to allow a slash.

>           </attribute>
>           <empty/>
>         </element>
>@@ -2056,7 +2054,7 @@
>       <element name="source">
>         <interleave>
>           <attribute name="pool">
>-            <ref name="poolName"/>
>+            <ref name="objectName"/>
>           </attribute>
>           <attribute name="volume">
>             <ref name="volName"/>
>@@ -3269,7 +3267,7 @@
>       <optional>
>         <element name="backenddomain">
>           <attribute name="name">
>-            <ref name="domainName"/>
>+            <ref name="objectNameWithSlash"/>

Same here.

>           </attribute>
>           <empty/>
>         </element>
>@@ -6944,11 +6942,6 @@
>       <param name="maxInclusive">1000</param>
>     </data>
>   </define>
>-  <define name="domainName">
>-    <data type="string">
>-      <param name="pattern">[^\n]+</param>
>-    </data>
>-  </define>
>   <define name="diskSerial">
>     <data type="string">
>       <param name="pattern">[A-Za-z0-9_\.\+\- ]+</param>

Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20210106/f7d3571f/attachment-0001.sig>


More information about the libvir-list mailing list