Right now, if you try to define a guest with an architecture, os type, or domain type that isn't listed in the driver's capabilities XML, the XML parsing code will error: error: unknown OS type hvm Doing this check at define time has caused user confusion in the past: say qemu is accidentally uninstalled, and libvirtd is restarted. the qemu driver capabilities are now empty, and any pre-existing configs will fail to load. virsh list --all is now empty, and users are confused. Some discussion here: http://www.redhat.com/archives/libvir-list/2013-December/msg00877.html We should move these checks to some generic startup error reporting function that can be shared across drivers. While we are at it, we should clarify that particular error message to try and describe better what the root issue is. Maybe an explicit warning if capabilities has no guests found?
*** Bug 971544 has been marked as a duplicate of this bug. ***
Is there a workaround? I am hitting this on RHEL 7.0 after I do this: echo 'auth_unix_rw = "none"' >> /etc/libvirt/libvirtd.conf echo 'auth_tls = "none"' >> /etc/libvirt/libvirtd.conf service libvirtd restart && sleep 10 # create network cat >/tmp/nested.xml <<'EON' <network> <name>nested</name> <uuid>71e5409e-59d0-11e4-8c48-3ca9f45639f8</uuid> <forward mode='nat'/> <bridge name='virbr1' stp='on' delay='0' /> <mac address='52:54:C4:9E:13:05'/> <ip address='192.168.222.1' netmask='255.255.255.0'> </ip> </network> EON virsh net-define /tmp/nested.xml virsh net-start nested virsh net-autostart nested # create pool mkdir -p /var/lib/libvirt/nested cat >/tmp/nested.xml <<'EOP' <pool type='dir'> <name>nested</name> <uuid>1117824d-b2dc-441f-8543-f49308c77d2a</uuid> <source> </source> <target> <path>/var/lib/libvirt/nested</path> <permissions> <mode>0755</mode> <owner>-1</owner> <group>-1</group> </permissions> </target> </pool> EOP virsh pool-define /tmp/nested.xml virsh pool-autostart nested Now when I try to create a VM -> BANG.
Could be either: missing qemu, host doesn't have hardware virt support, or libvirtd needs a restart.
patches posted here: https://www.redhat.com/archives/libvir-list/2015-April/thread.html first patch improves the error message, second patch skips this validation check when reading configs from disk at daemon startup time.
This all landed in v1.2.15