Bug 1074327
Summary: | Upstream libvirt (from git) no longer supports host-passthrough, says "CPU specification not supported by hypervisor" | ||
---|---|---|---|
Product: | [Community] Virtualization Tools | Reporter: | Richard W.M. Jones <rjones> |
Component: | libvirt | Assignee: | Libvirt Maintainers <libvirt-maint> |
Status: | CLOSED NEXTRELEASE | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | unspecified | CC: | acathrow, jdenemar, rjones |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-03-12 15:42:26 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 910269 |
Description
Richard W.M. Jones
2014-03-09 20:17:18 UTC
Rich, I don't think there is a regression here. Capabilities XML shows <cpu> <arch>x86_64</arch> <topology sockets='1' cores='2' threads='2'/> </cpu> which means libvirt was not able to detect host CPU model. If you think there should be no reason for this when you are asking for host-passthrough model, you're definitely correct but libvirt currently requires it and always has. We should fix it though. Anyway, the question is why libvirt did not find any CPU model on your host. Since you're running libvirt from git, I suspect this is because libvirtd was not able to find cpu_map.xml. Do you also have libvirt installed on the host? In other words, does /usr/share/libvirt/cpu_map.xml exist? If not, we found the reason for the failure described in this bug. So it turns out that using: ./configure --prefix=/usr fixes it. However: (1) The error message should say that it cannot load cpu_map.xml. (2) This is using the system libvirt cpu_map.xml, which works in this case, but wouldn't work in other cases. The ./run script should be able to set an environment variable so libvirt picks the cpu_map.xml from its source tree. Patch proposed upstream: https://www.redhat.com/archives/libvir-list/2014-March/msg00621.html This is now fixed in git by v1.2.2-100-ge562e82: commit e562e82f76614beff132ab48d3f0dabf64b20c5b Author: Jiri Denemark <jdenemar> Date: Mon Mar 10 16:00:49 2014 +0100 Load CPU map from builddir when run uninstalled When libvirtd is run from a build directory without being installed, it should not depend on files from a libvirt package installed in the system. Not only because there may not be any libvirt installed at all. We already do a good job for plugins but cpu_map.xml was still loaded from the system. The Makefile.am change is necessary to make this all work from VPATH builds since libvirtd has no idea where to find libvirt sources. It only knows the path from which it was started, i.e, a builddir. https://bugzilla.redhat.com/show_bug.cgi?id=1074327 Signed-off-by: Jiri Denemark <jdenemar> |