[Pkg-libvirt-maintainers] Bug#901940: Please separate uncommon connection drivers

Christian Ehrhardt christian.ehrhardt at canonical.com
Wed Jun 20 13:58:54 BST 2018


Package: libvirt
Version: 4.3.0-1
Severity: normal

I'd suggest we do split the connectino backends as it was done for storage
drivers before:

https://salsa.debian.org/libvirt-team/libvirt/commit/ea0f70cfde9ad38b40df4db4b05582d498f2a8e0

https://salsa.debian.org/libvirt-team/libvirt/commit/a218a9c45ca2af824c20e2b7b369984f48202a8d

Reasoning: In 9/10 cases people drive KVM via libvirt, which is why I have
split it the way I'm suggesting.

I'd suggest to keep these for being "internal" libvirt functionality
/usr/lib/libvirt/connection-driver/libvirt_driver_interface.so
/usr/lib/libvirt/connection-driver/libvirt_driver_network.so
/usr/lib/libvirt/connection-driver/libvirt_driver_nodedev.so
/usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so
/usr/lib/libvirt/connection-driver/libvirt_driver_secret.so
/usr/lib/libvirt/connection-driver/libvirt_driver_storage.so

And qemu/kvm for being the most commonly used virt backend
/usr/lib/libvirt/connection-driver/libvirt_driver_qemu.so

I'd break the following out to extra packages, with the latter two groupesd
for xen
/usr/lib/libvirt/connection-driver/libvirt_driver_uml.so
/usr/lib/libvirt/connection-driver/libvirt_driver_lxc.so
/usr/lib/libvirt/connection-driver/libvirt_driver_vbox.so
/usr/lib/libvirt/connection-driver/libvirt_driver_libxl.so
/usr/lib/libvirt/connection-driver/libvirt_driver_xen.so

I was going back and forth on breaking out lxc or not.
I know that you (Guido) worked a bit with it. In case Debian wants to keep
lxc in the default set I'd ask you to accept my changes but make it a
recommends on Debian. From Ubuntu's POV libvirt-lxc is clearly inferior to
LXD in so many way that I'd want to keep it out of the default libvirt
connections.

Overall this allows to drop all xen related dependencies ones like
libxen-4.9 /libxenstore3.0.
Separating the others does not grant more dependencies to be dropped, but
it still is cleaner and more lightweight in general.

Since not all arches build all connection drivers anyway I used [1] to
derive which ones I need to list for vbox/xen as linux-any would leave
empty packages on e.g. s390x.

The aborts without those connection drivers installed are not ugly and
actually quite correct in its error message:
$ export LIBVIRT_DEFAULT_URI='lxc:///'
$ virsh list
error: failed to connect to the hypervisor
error: no connection driver available for lxc:///

After install and libvirtd service restart (just as with the storgae
drivers) it works fine:

# virsh list
 Id    Name                           State
----------------------------------------------------
...

I have a patch ready to do all that which I'll submit in salsa as soon as I
got the bug number from this report (to make the changelog correctly refer
to the bug).

I already test-backported to the (currently shamefully out of date) Ubuntu
version and a test build is in [2] in case you want to look at buildlogs or
such.

[1]: https://buildd.debian.org/status/package.php?p=libvirt
[2]: https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3302

-- 
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-libvirt-maintainers/attachments/20180620/1661f701/attachment.html>


More information about the Pkg-libvirt-maintainers mailing list