On our agenda there is the project "Facilitated and improved support for Fedora Server Edition VMs". Once started as a prospective cooperation with cloud WG, this prospect has bluntly failed.
The question now is how can we easily and efficiently provide a virtualised version of Fedora Server for a bare-metal Fedora Server with virtualisation support installed. This question becomes urgent given the power of current hardware.
Currently there are 4 Options ready to use:
(1)
Usage of Cockpits 'Create VM' which launches Anaconda installation support and guides you through the standard installation process.
You get a perfect duplum of Fedora Server in virtualized form, but at the price of a significant amount of work.
Instead of Cockpit you could use an elaborate invocation of virsh, but the effort will not be less.
That's not exactly the goal of our project.
(2)
Installation of guestfs-tools (f35, libguestfs-tools-c in f34) and use virt-builder to create a partly customized disk image (e.g. root password) that you can import using virsh
You get a disk image file pretty quickly and importing it into KVM is easy and fast as well.
You will not get a duplum of Fedora Server virtualized, contrary to the description in virt-builder. Cockpit is not installed, filesystem is without LVM, many software packages are missing (vim, tar , sshfs, etc), firewall without Fedora Server zone - just to name a few.
The qcow2 image file created by default has a capacity of 10 GiB and also occupies 10 GiB in the file system - so no use of dynamic capability of qcow2 format. The image is generated on an external server and imported as a binary.
With all the effort we put into Fedora to build even the smallest rpm package completely from source on Fedora infrastructure, it seems pretty absurd to use a complete VM binary from a third party source or to rely on an external binary image.
Overall, this is not a suitable solution.
(3)
Usage of mage Builder Tool / Cockpit module
The tool creates an elaborated image file. But in the current implementation it requires almost a similar effort as an Anaconda installation. And as in the case of virt-builder, a binary is imported from an external source.
So it is a similarly limited suitable solution.
(4)
Usage of cloud base image
This solution would be Fedora controlled after all. Importing via virsh is simple and fast. But the result is far from being a duplum of Fedora Server - no firewall, no cockpit, different file system, missing software, just to name a few. And a duplum is explicitly not intended by cloud WG.
Altogether, this option is not a solution either.
= Conclusion =
Unless I have overlooked an adequate tool, our only option is to supply our own image file - similar to what CoreOS does.
We already provide a perfect image file for Arm64 SBC devices - including initial configurability, similar in scope to Anaconda. Could this serve as a template?
Maybe that would be a realistic goal for F36 release?
Feedback and other possible alternatives are very much appreciated.
Best
Peter