This may actually be a libvirt bug. Looking at the nova-compute.log, I adjust the uuid and name and have the following xml in /tmp/foo.xml:
<domain type="kvm">
<uuid>3474184f-57c1-49d1-be61-8fe4ccb34682</uuid>
<name>foo</name>
<memory>524288</memory>
<vcpu>1</vcpu>
<os>
<type>hvm</type>
<boot dev="hd"/>
</os>
<features>
<acpi/>
</features>
<clock offset="utc">
<timer name="pit" tickpolicy="delay"/>
<timer name="rtc" tickpolicy="catchup"/>
</clock>
<devices>
<disk type="file" device="disk">
<driver type="qcow2" cache="none"/>
<source file="/var/lib/nova/instances/instance-00000012/disk"/>
<target bus="virtio" dev="vda"/>
</disk>
<interface type="bridge">
<mac address="fa:16:3e:71:49:da"/>
<model type="virtio"/>
<source bridge="br100"/>
<filterref filter="nova-instance-instance-00000012-fa163e7149da">
<parameter name="IP" value="10.0.0.4"/>
<parameter name="DHCPSERVER" value="10.0.0.3"/>
<parameter name="PROJNET" value="10.0.0.0"/>
<parameter name="PROJMASK" value="255.255.255.0"/>
</filterref>
</interface>
<serial type="file">
<source path="/var/lib/nova/instances/instance-00000012/console.log"/>
</serial>
<serial type="pty"/>
<input type="tablet" bus="usb"/>
<graphics type="vnc" autoport="yes" keymap="en-us" listen="127.0.0.1"/>
</devices>
</domain>
Using 'virsh define /tmp/foo.xml' on 12.04 it works. On 12.10 it does not:
$ virsh define /tmp/foo.xml
error: Failed to define domain from /tmp/foo.xml
error: internal error no supported architecture for os type 'hvm'
If I change this:
<type>hvm</type>
to:
<type arch='x86_64'>hvm</type>
It works:
$ virsh define /tmp/foo.xml
Domain foo defined from /tmp/foo.xml
It seems libvirt wants the 'arch' defined when specifying 'hvm'.
This may actually be a libvirt bug. Looking at the nova-compute.log, I adjust the uuid and name and have the following xml in /tmp/foo.xml: 3474184f- 57c1-49d1- be61-8fe4ccb346 82</uuid> 524288< /memory> hvm</type> "delay" /> "catchup" /> var/lib/ nova/instances/ instance- 00000012/ disk"/> "fa:16: 3e:71:49: da"/> "nova-instance- instance- 00000012- fa163e7149da" > 255.255. 255.0"/ > var/lib/ nova/instances/ instance- 00000012/ console. log"/> "127.0. 0.1"/>
<domain type="kvm">
<uuid>
<name>foo</name>
<memory>
<vcpu>1</vcpu>
<os>
<type>
<boot dev="hd"/>
</os>
<features>
<acpi/>
</features>
<clock offset="utc">
<timer name="pit" tickpolicy=
<timer name="rtc" tickpolicy=
</clock>
<devices>
<disk type="file" device="disk">
<driver type="qcow2" cache="none"/>
<source file="/
<target bus="virtio" dev="vda"/>
</disk>
<interface type="bridge">
<mac address=
<model type="virtio"/>
<source bridge="br100"/>
<filterref filter=
<parameter name="IP" value="10.0.0.4"/>
<parameter name="DHCPSERVER" value="10.0.0.3"/>
<parameter name="PROJNET" value="10.0.0.0"/>
<parameter name="PROJMASK" value="
</filterref>
</interface>
<serial type="file">
<source path="/
</serial>
<serial type="pty"/>
<input type="tablet" bus="usb"/>
<graphics type="vnc" autoport="yes" keymap="en-us" listen=
</devices>
</domain>
Using 'virsh define /tmp/foo.xml' on 12.04 it works. On 12.10 it does not:
$ virsh define /tmp/foo.xml
error: Failed to define domain from /tmp/foo.xml
error: internal error no supported architecture for os type 'hvm'
If I change this:
<type>hvm</type>
to: 64'>hvm< /type>
<type arch='x86_
It works:
$ virsh define /tmp/foo.xml
Domain foo defined from /tmp/foo.xml
It seems libvirt wants the 'arch' defined when specifying 'hvm'.