Obviously, introducing a new podman runner could raise new issues, but it's something we've been meaning to do for a while and if it has the chance of fixing things, it seems worth a try.
This, obviously, would need to run bookworm to get the latest and greatest podman that works with GitLab.
after looking at usage graphs of the other runner, i installed a VM with:
300G disk (other VM has 500G but never reached beyond ~280G)
96G RAM (other has 300G ram, but again doesn't use it all)
16 cores (harder to tell, but similar to the other one)
i also set it up with a "plain" disk with the understanding that this is a disposable VM that doesn't need HA, especially since we reboot it in a peculiar way in the first place.
it seems like my podman install is somewhat non-functional, even as the normal (gitlab-runner) user it fails:
root@ci-runner-x86-02:~# sudo -u gitlab-runner -igitlab-runner@ci-runner-x86-02:~$ podman psWARN[0000] The cgroupv2 manager is set to systemd but there is no systemd user session available WARN[0000] For using systemd, you may need to login using an user session WARN[0000] Alternatively, you can enable lingering with: `loginctl enable-linger 999` (possibly as root) WARN[0000] Falling back to --cgroup-manager=cgroupfs CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESWARN[0000] Failed to add pause process to systemd sandbox cgroup: exec: "dbus-launch": executable file not found in $PATH gitlab-runner@ci-runner-x86-02:~$ podman run debian:latestWARN[0000] The cgroupv2 manager is set to systemd but there is no systemd user session available WARN[0000] For using systemd, you may need to login using an user session WARN[0000] Alternatively, you can enable lingering with: `loginctl enable-linger 999` (possibly as root) WARN[0000] Falling back to --cgroup-manager=cgroupfs WARN[0002] Failed to add pause process to systemd sandbox cgroup: exec: "dbus-launch": executable file not found in $PATH
i knocked down quite a few hurdles to make this work so far, so maybe i'm missing some more. it's a bit frustrating but maybe i need to go through the install procedure formally:
hey folks, i've setup a podman runner. it doesn't run untagged jobs right now as a safety measure, in case it starts breaking people's CI.
i'd love if people could give it a go. see https://docs.gitlab.com/ee/ci/yaml/#tags for how to add tags to your configuration, but it basically requires a configuration change.
note that in our ci-test gitlab-ci.yaml file we added a TPA_TAG_VALUE variable to be able to pass arbitrary tags down into the jobs without having to constantly change the .yaml file...