<div dir="ltr"><div><br></div><div><div>Package: libvirt</div><div>Version: <span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">4.3.0-1</span><br></span></div><div>Severity: normal</div></div><div><br></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">I'd suggest we do split the connectino backends as<span> </span></span>it was done for storage drivers before:</div><div> <a href="https://salsa.debian.org/libvirt-team/libvirt/commit/ea0f70cfde9ad38b40df4db4b05582d498f2a8e0">https://salsa.debian.org/libvirt-team/libvirt/commit/ea0f70cfde9ad38b40df4db4b05582d498f2a8e0</a></div><div> <a href="https://salsa.debian.org/libvirt-team/libvirt/commit/a218a9c45ca2af824c20e2b7b369984f48202a8d">https://salsa.debian.org/libvirt-team/libvirt/commit/a218a9c45ca2af824c20e2b7b369984f48202a8d</a></div><div><br></div><div>Reasoning: In 9/10 cases people drive KVM via libvirt, which is why I have split it the way I'm suggesting.</div><div><br></div><div>I'd suggest to keep these for being "internal" libvirt functionality</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_interface.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_network.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_nodedev.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_secret.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_storage.so</div><div><br></div><div>And qemu/kvm for being the most commonly used virt backend</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_qemu.so</div><div><br></div><div>I'd break the following out to extra packages, with the latter two groupesd for xen</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_uml.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_lxc.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_vbox.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_libxl.so</div><div>/usr/lib/libvirt/connection-driver/libvirt_driver_xen.so</div><div><br></div><div>I was going back and forth on breaking out lxc or not.</div><div>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.</div><div><br></div><div>Overall this allows to drop all xen related dependencies ones like libxen-4.9 /libxenstore3.0.</div><div>Separating the others does not grant more dependencies to be dropped, but it still is cleaner and more lightweight in general.</div><div><br></div><div>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.</div><div><br></div><div>The aborts without those connection drivers installed are not ugly and actually quite correct in its error message:</div><div>$ export LIBVIRT_DEFAULT_URI='lxc:///'</div><div>$ virsh list</div><div>error: failed to connect to the hypervisor</div><div>error: no connection driver available for lxc:///</div><div><br></div><div>After install and libvirtd service restart (just as with the storgae drivers) it works fine:</div><div><br></div><div># virsh list</div><div> Id Name State</div><div>----------------------------------------------------</div><div>...</div><div><br></div><div>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).</div><div><br></div><div>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.</div><div><br></div><div>[1]: <a href="https://buildd.debian.org/status/package.php?p=libvirt">https://buildd.debian.org/status/package.php?p=libvirt</a></div><div>[2]: <a href="https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3302">https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3302</a></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="color:rgb(136,136,136);font-size:12.8px">Christian Ehrhardt</span><div style="color:rgb(136,136,136);font-size:12.8px">Software Engineer, Ubuntu Server</div><div style="color:rgb(136,136,136);font-size:12.8px">Canonical Ltd</div></div></div></div></div>
</div>