While testing F36, I ran into a problem installing virtualization support on Fedora
Server. Until now we installed qemu-kvm, libvirt, virt-install, and additionally
cockpit-machines. That combo installs about 338 packages, at least 200 packages graphical
desktop related (X11, wayland, gtk3, even poppler pdf renderer, see [1]). This breaks
Fedora Servers fundamental headless core concept and installs lots of unusable and thus
locally uncontrolled/unmaintained software.
== In this respect, a correction is urgently needed. ==
=== qemu-kvm ===
The cause of the problem is the use of package QEMU-kvm, which is aimed - hitherto
unnoticed - at installation on a graphical desktop and therefore completely correctly
assumes the appropriate packages. This in turn relies on the @virtualization group, which
is the only public group supporting virtualization installation and is described
accordingly in the Fedora documentation (without mentioning the graphical bias).
In principle, the solution is quite simple. The qemu-kvm developers were wise enough to
create a qemu-kvm-core group at the same time, which omits all graphical references and
allows for an excellent installation on Fedora Server.
=== libvirt ===
Unfortunately, the maintainers of libvirt are far from this wisdom and insist that the
libvirt package still relies on qemu-kvm, thus installing all the packages that
QEMU-kvm-core omits again anyway. An analogous libvirt-core does not exist. Instead,
Daniel Berrange refers to the list of individually available single packages, from which
one (i.e. server WG) should please compile and test a suitable mix and watch the libvirt
development steps to see if changes to the mix are required (see bug report by Martin Pitt
[2]).
== So we need to find a way to reliably determine a working set of libvirt packages for
Fedora Server (or change the tool set). ==
Maybe we can find support in Debian/Ubuntu, whose libvirt maintainers have solved the
problem, at least according to my first impression.
=== Group virtualization-headless ===
An initial approach to a solution could be the group ==@virtualization-headless==. This is
a hidden group (see 'dnf group list -v hidden') that currently does pretty much
the same as @virtualization, unfortunately. We could contact the owner and modify the
group as required (or create a new group @virtualization-server). We could use that as a
means to organize a suitable libvirt mix.
=== Cockpit-machines ===
As a further consequence, the cockpit-machines module is currently effectively unusable.
It also has QEMU-kvm defined as a dependency. Even if we fix the libvirt problem with a
suitable mix, cockpit-machines would currently undo this effort. Martin Pitt is on the
way to fix it, see [3]. But we have to find a solution for F36.
I’ll tag this issue for our next meeting. Any suggestions much appreciated.
[1]
https://lists.fedoraproject.org/archives/list/server@lists.fedoraproject....
[2]
https://bugzilla.redhat.com/show_bug.cgi?id=2063670
[3]
https://github.com/cockpit-project/cockpituous/pull/473