I tried on another machine with qemu 2.0.0 + libvirt 1.2.6 is ok, maybe it
is related
to some system environment ? But i have not found what's impacted of this
yet.
The xml file is as fallows:
"
<domain type="kvm">
<name>5ab4f49c-c99f-4dbd-9d7d-17a946b4c5a7</name>
<uuid>5ab4f49c-c99f-4dbd-9d7d-17a946b4c5a7</uuid>
<memory>15360000</memory>
<vcpu cpuset="0,1,2,3,8,9,10,11"
placement="static">4</vcpu>
<os>
<type>hvm</type>
<boot dev="hd"/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset="localtime"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk device="disk" type="file">
<driver name="qemu" type="qcow2"/>
<source file="/mnt/kvm/tlinux_sles12_com-v3-2.qcow2"/>
<target bus="virtio" dev="vda"/>
</disk>
<interface type="bridge">
<source bridge="kvmbr11"/>
<mac address="00:16:3E:0A:0A:FA"/>
<model type="virtio"/>
</interface>
<serial type="pty">
<target port="0"/>
</serial>
<console type="pty">
<target port="0" type="serial"/>
</console>
<input bus="ps2" type="mouse"/>
<graphics autoport="yes" listen="0.0.0.0" port="-1"
type="vnc"/>
</devices>
</domain>
"
Another clue,there are some error messages in libvirtd.log
"2014-07-29 02:10:32.230+0000: 13226: error : virCommandWait:2426 :
internal error: Child process (LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
HOME=/root USER=tvcadmin LOGNAME=tvcadmin /usr/bin/qemu-system-x86_64
-help) unexpected exit status 125: libvirt: error : internal error: cannot
apply process capabilities -1
2014-07-29 02:10:32.230+0000: 13226: warning :
virQEMUCapsLogProbeFailure:3300 : Failed to probe capabilities for
/usr/bin/qemu-system-x86_64: internal error: Child process (LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
HOME=/root USER=tvcadmin LOGNAME=tvcadmin /usr/bin/qemu-system-x86_64
-help) unexpected exit status 125: libvirt: error : internal error: cannot
apply process capabilities -1
2014-07-29 02:10:32.232+0000: 13226: error : virCommandWait:2426 : internal
error: Child process (LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
HOME=/root USER=tvcadmin LOGNAME=tvcadmin /usr/bin/qemu-system-xtensa
-help) unexpected exit status 125: libvirt: error : internal error: cannot
apply process capabilities -1
"
2014-07-30 21:07 GMT+08:00 Eric Blake <eblake(a)redhat.com>:
On 07/29/2014 08:39 PM, weiwei li wrote:
> Hi
> I got a problem when using qemu 2.0.0 + libvirt 1.2.6 . It just can not
> define a kvm vm successfully , errors like this :
>
> # virsh define 5ab4f49c-c99f-4dbd-9d7d-17a946b4c5a7.xml
> error: Failed to define domain from
5ab4f49c-c99f-4dbd-9d7d-17a946b4c5a7.xml
> error: unknown OS type hvm
Can you show the actual contents of that .xml file?
>
> After several tries, i found that
>
> Qemu2.0 /qemu-kvm1.2+ libvirt1.0.2 and lower version is ok
> Qemu2.0 /qemu-kvm1.2+ libvirt1.0.3 and higher version is failed
I wonder if you are seeing the result of tightening the parse; the old
versions were silently ignoring an impossible request, and the new
version is diagnosing the bug. It may be as simple as modifying
whatever line requested "hvm" in your .xml file to instead request
something valid. Then again, I have
<os>
<type arch='i686' machine='pc-i440fx-1.5'>hvm</type>
in a guest that is booting just fine for me on Fedora 20 with qemu 2.0
and libvirt 1.2.7-rc1. In upstream libvirt.git, that error message is
only possible from this code in domain_conf.c:
if (!virCapabilitiesSupportsGuestOSType(caps, def->os.type)) {
virReportError(VIR_ERR_OS_TYPE,
"%s", def->os.type);
but I'm not sure why that function would be failing, unless your qemu
binary is not reporting features correctly.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org