At the moment, cgroups v2 is being set as the default option in systemd per `default-hierarchy` as `unified`. Unfortunately, cgroup v2 breaks a bunch of software which does not yet support it, e.g.
- Anything using runc, see https://github.com/opencontainers/runc/issues/2209
- Anything using containerd, see https://github.com/containerd/containerd/issues/3726
This breakage isn't really acceptable, so what we're going to be doing (or have done, depending on when you're reading this) is:
1. Setting `default-hierarchy` as `legacy`
2. Setting the supplemental, but required kernel command line flag in our cmdline for linux-lts and linux-current: `systemd.unified_cgroup_hierarchy=0 `
3. Keeping snapd at 2.39 until all above items (runc and containerd, explicitly podman and Docker as well) support cgroups v2. We can't upgrade snapd because newer releases only support cgroups v2.
This task is being left open to effectively track what items still need to gain support before we can move on from cgroups v1.
P.S. I know we have lxc and that also has impartial support for cgroups v2 (at time of posting), but that is not a high priority item given likely nobody uses it and it should realistically just be dropped from the repo.