So I use Fedora 36 currently, but I wanted to run Fedora 38 in a VM to see if It is stable. Upon installation and setup, I notice I cannot use cgroups v1 with Fedora 38. It shows as tainted and it causes systemd-oom to fail. The problem is, I need cgroup v1 because I run CentOS 7 docker container with systemd, and without cgroup v1 on host, it will not load. Does that mean I am sol and would need to stay on older fedora release?
cgroupv1 has no future. The Linux kernel has moved on because if the problems with v1 that cannot be fixed.
You need to use software that supports cgroupv2.
Use podman to replace docker and you should be good.
Switching to cgroupsv1 will stop systemd working completely in a near future release.
Too much of the Fedora software stack needs cgroupsv2 to function as designed.
So podman shows the same problem, it cant load init inside centos7 container because it only supports cgroupv1. Is there away to run cgroupv1 containers on cgroupv2 hosts?
Can you avoid using systemd in your container?
That will remove the need for cgroups altogether.
I have very limited experience of containers,
for a Centos 6 one i maintain there is no init, only the startup code i provided.
Hey so, I was able to fix my problem somewhat. What I did was add a copr repo in CentOS7 that backports centos-8 systemd rpm. I was able to upgrade to systemd > v219. Now i get cgroupv2 support from centos-7.
The only issue is I need to pass rw permissions to /sys/fs/cgroups when mounting it as a volume during docker run. I dont know if thats a bad idea or not.