[libvirt] [PATCH 1/2] Fix schema to allow missing machine type

Mark McLoughlin markmc at redhat.com
Mon Oct 12 10:00:30 UTC 2009


The domain/os/type element may have an arch specified without having
a machine variant specified. In fact, this is what python-virtinst
does when defining a guest.

* docs/schemas/domain.rng: allow missing machine type
---
 docs/schemas/domain.rng |   86 ++++++++++++++++++++++++++++-------------------
 1 files changed, 51 insertions(+), 35 deletions(-)

diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
index b1987e1..1935f15 100644
--- a/docs/schemas/domain.rng
+++ b/docs/schemas/domain.rng
@@ -157,53 +157,69 @@
   </define>
   <define name="hvmx86">
     <group>
-      <attribute name="arch">
-        <choice>
-          <value>i686</value>
-          <value>x86_64</value>
-        </choice>
-      </attribute>
-      <attribute name="machine">
-        <choice>
-          <value>xenfv</value>
-          <value>pc</value>
-          <value>isapc</value>
-        </choice>
-      </attribute>
+      <optional>
+        <attribute name="arch">
+          <choice>
+            <value>i686</value>
+            <value>x86_64</value>
+          </choice>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="machine">
+          <choice>
+            <value>xenfv</value>
+            <value>pc</value>
+            <value>isapc</value>
+          </choice>
+        </attribute>
+        </optional>
     </group>
   </define>
   <define name="hvmmips">
     <group>
-      <attribute name="arch">
-        <value>mips</value>
-      </attribute>
-      <attribute name="machine">
-        <value>mips</value>
-      </attribute>
+      <optional>
+        <attribute name="arch">
+          <value>mips</value>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="machine">
+          <value>mips</value>
+        </attribute>
+      </optional>
     </group>
   </define>
   <define name="hvmsparc">
     <group>
-      <attribute name="arch">
-        <value>sparc</value>
-      </attribute>
-      <attribute name="machine">
-        <value>sun4m</value>
-      </attribute>
+      <optional>
+        <attribute name="arch">
+          <value>sparc</value>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="machine">
+          <value>sun4m</value>
+        </attribute>
+      </optional>
     </group>
   </define>
   <define name="hvmppc">
     <group>
-      <attribute name="arch">
-        <value>ppc</value>
-      </attribute>
-      <attribute name="machine">
-        <choice>
-          <value>g3beige</value>
-          <value>mac99</value>
-          <value>prep</value>
-        </choice>
-      </attribute>
+      <optional>
+        <attribute name="arch">
+          <value>ppc</value>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="machine">
+          <choice>
+            <value>g3beige</value>
+            <value>mac99</value>
+            <value>prep</value>
+          </choice>
+        </attribute>
+      </optional>
     </group>
   </define>
   <define name="osexe">
-- 
1.6.2.5




More information about the libvir-list mailing list