-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cgroups v2 support #60
Comments
We use a TOML cgroups config format that is defined here: https://github.com/sylabs/singularity/blob/master/internal/pkg/cgroups/config_linux.go This is closely related to the opencontainers/runtime-spec/specs-go constructs: https://github.com/opencontainers/runtime-spec/blob/master/specs-go/config.go At present, the v1 cgroups config is applied via containerd/cgroups routines that directly accept
For cgroups v2 a We need to investigate a way of moving forward... how the existing toml structure maps into the v2.Resources etc. |
Support execution on a cgroups v2 unified hierarchy system, by using the `containerd/cgroups/v2` translation of the `opencontainers/runtime-spec` `LinuxResources` structure (which we use for cgroups config toml files) into v2 Resources. Device limits are implemented with the eBPF translation. This will mean that existing v1 / OCI style cgroups configuration files can be used on a system configured for the unified hierarchy without an ugly failure. Also fixes failures with the `oci` commands on these systems. Note that we don't yet support the Unified attribute from LinuxResources, which is a free-form map[string][string] for expressing cgroups v2 configuration natively. Fixes #60
Support execution on a cgroups v2 unified hierarchy system, by using the `containerd/cgroups/v2` translation of the `opencontainers/runtime-spec` `LinuxResources` structure (which we use for cgroups config toml files) into v2 Resources. Device limits are implemented with the eBPF translation. This will mean that existing v1 / OCI style cgroups configuration files can be used on a system configured for the unified hierarchy without an ugly failure. Also fixes failures with the `oci` commands on these systems. Note that we don't yet support the Unified attribute from LinuxResources, which is a free-form map[string][string] for expressing cgroups v2 configuration natively. Fixes #60
Support execution on a cgroups v2 unified hierarchy system, by using the `containerd/cgroups/v2` translation of the `opencontainers/runtime-spec` `LinuxResources` structure (which we use for cgroups config toml files) into v2 Resources. Device limits are implemented with the eBPF translation. This will mean that existing v1 / OCI style cgroups configuration files can be used on a system configured for the unified hierarchy without an ugly failure. Also fixes failures with the `oci` commands on these systems. Note that we don't yet support the Unified attribute from LinuxResources, which is a free-form map[string][string] for expressing cgroups v2 configuration natively. Fixes #60
Is your feature request related to a problem? Please describe.
SingularityCE will not work completely out of the box (OCI mode / cgroups settings) on distributions that are using the cgroups v2 hierarchy.
Fedora is using cgroups v2. Also Debian bullseye (the next release, currently testing). We can reasonably expect the next Ubuntu LTS and the next EL release to do so also.
Describe the solution you'd like
SingularityCE should support the cgroups v2 hierarchy.
The text was updated successfully, but these errors were encountered: