Include a generic b2c qemu facility
boot2container provides a small intrd that can start a container on bare-metal or under qemu.
This MR aims at providing a smooth environment for people to use b2c under qemu on the fdo infra.
The advantage of b2c compared to the classic qemu template is that we don't need to create a specific image for it and embed the qemu image in the container. That means less disk usage for our registry and also speed up times for users (we don't need to start a full distro to run just a test suite).
This is currently a draft to, there are a few things missing while writing this MR:
-
tests for .fdo.b2c
-
forward the job environment to the b2c containers -
probably rewrite /app/b2c
in python and use proper arguments, not environment variables -
one or two users (libinput and hid-tools are good targets)
CC: @mupuf so that you are aware and can provide ideas for enhancements :)
Note: @whot, I managed to get this working with hid-tools. The trick is that the container is already running in privileged mode from the initrd, and we need to tell podman to mount /dev
in the container. This way, virtual devices are presented to the container. The other trick is to run systemd-udevd
in the background in the container so we also get udev notifications.