concourse / concourse-docker

Offical concourse/concourse Docker image.
Apache License 2.0
241 stars 153 forks source link

CONCOURSE_RUNTIME=containerd is not the same as --runtime containerd #84

Open alanzanattadev opened 2 years ago

alanzanattadev commented 2 years ago

Hi,

I've encountered an issue running a Concourse Worker using --runtime containerd rather than the env variable CONCOURSE_RUNTIME=containerd related to cgroups.

The issue prevented runc from properly cleaning containers, leading to OCI resources being unavailable after a while (reproducing the issue required to keep the cluster running for a few days as my workload is very small). The error was indicating it was failing to get pids from /sys/fs/cgroup/garden/cgroup.procs (no such file or directory).

This issue was fixed by providing CONCOURSE_RUNTIME=containerd rather than the CLI counterpart. It seems this issue is normally fixed by https://github.com/concourse/concourse-docker/pull/77 but that the entrypoint script doesn't use the CLI argument but the environment variable, leading to the cgroup configuration not being correct when using the CLI argument.

I'm not sure 100% the issue is this, but using the environment variable led to multiple cgroup errors disappearing.

I still had one cgroup error (failed to write subtree controllers) that I could fix using --cgroupns=host .

Best