2010/11/8 Eric Blake <eblake(a)redhat.com>:
On 11/06/2010 01:30 PM, Andy Howell wrote:
>
> I'm trying to build a new RPM for libvirt-0.8.5. Two tests are failing:
>
> interfaceschematest
> xencapstest
>
> Are these known errors? Any work-arounds?
There were several reports of failures fixed by patches right after the
0.8.5 release, although I'm not sure if applying them will solve all the
problems you are facing.
For example,
https://www.redhat.com/archives/libvir-list/2010-November/msg00085.html
lists several commits needed for successful testing across multiple xen
header versions.
No, the problem is different and not specific to libvirt 0.8.5
xenHypervisorInit is called from xenRegister and detects the
sys_interface_version. As Andy figured out correctly, the xencapstest
calls xenHypervisorMakeCapabilitiesInternal with conn == NULL.
xenHypervisorMakeCapabilitiesInternal then calls
xenDaemonNodeGetTopology with conn == NULL if sys_interface_version >=
SYS_IFACE_MIN_VERS_NUMA holds. This is true when you have Xen
installed, otherwise sys_interface_version is -1. Therefore this test
will fail when ypu have recent Xen installed.
I just remember this, because Jim mentioned it quite a while ago on
IRC and I looked up the details in my logs. At that time I suggested
to apply this patch/hack to avoid the problem, as
xenDaemonNodeGetTopology want to talk to a real xend at that point and
insists in conn != NULL for that.
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
index c5cc880..95b3ca2 100644
--- a/src/xen/xen_hypervisor.c
+++ b/src/xen/xen_hypervisor.c
@@ -2244,8 +2244,7 @@ xenHypervisorBuildCapabilities(virConnectPtr conn,
"xenmigr") < 0)
goto no_memory;
-
- if (sys_interface_version >= SYS_IFACE_MIN_VERS_NUMA) {
+ if (sys_interface_version >= SYS_IFACE_MIN_VERS_NUMA && conn != NULL) {
if (xenDaemonNodeGetTopology(conn, caps) != 0) {
virCapabilitiesFree(caps);
return NULL;
I'm not sure why the interfaceschematest fails, as It works for me.
Matthias