Jim Fehlig wrote:
When building without driver modules, I've noticed that the
legacy xen
driver no longer works. The attached patch fixes it, but I'm not sure
if this is the correct fix.
Sorry, I should have elaborated here. I don't think this is the correct
fix because now libvirt.so has a dependency on xen libs, e.g.
libxenstore, which (I think) defeats the purpose of modularizing the build.
I need to do some more testing with and
without modules, but wanted to raise this on the list for
comments/suggestions.
When building libvirt without driver modules, I'm not able to connect to
the legacy xen driver
# virsh version
Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: QEMU 0.10.0
error: failed to get the hypervisor version
error: internal error Cannot find suitable emulator for x86_64
# virsh -c xen:/// version
error: internal error libxenlight state driver is not active
error: failed to connect to the hypervisor
Which is correct, since the libxl driver won't load if xend is active.
But why is the legacy xen driver not tried? I can connect to the libxl
one when xend is not active
# virsh version
Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: xenlight 0.10.0
Running hypervisor: xenlight 4.1.0
When building with driver modules and trying to connect to the legacy
xen driver
# virsh version
Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: QEMU 0.10.0
error: failed to get the hypervisor version
error: internal error Cannot find suitable emulator for x86_64
# virsh -c xen:/// version
Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: Xen 0.10.0
Running hypervisor: Xen 4.1.0
So this is a change in behavior, where the connection must now be
explicitly specified. Same goes for connecting to the libxl driver when
built with driver modules
# virsh version
Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: QEMU 0.10.0
error: failed to get the hypervisor version
error: internal error Cannot find suitable emulator for x86_64
# virsh -c xen:/// version
Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: xenlight 0.10.0
Running hypervisor: xenlight 4.1.0
Suggestions on how to go about fixing all of this would be much
appreciated :).
Thanks,
Jim