-
Notifications
You must be signed in to change notification settings - Fork 558
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
Tracker for cgroups v2 #1002
Comments
cc @filbranden for several of these are his findings |
@giuseppe are you willing to propose the crun conversion spec to OCI Runtime Spec? |
I can. I was already discussing them with @filbranden, @vbatts and @mrunalp. I wonder if someone else beside me played with it though :-) |
@giuseppe, do you mind if I send a PR with the cgroups conversion specs from crun? Might still have a chance to squeeze in such non-invasive changes before the 1.0.2 release... |
sure, I've no problems with that |
For the record, I had less time than expected in February, but I tried once, and found the undertaking more complex than expected (hence no PR). For example: should the conversion functions be already defined in the runtime-spec? Currently lots of projects have to redundantly define their conversions (e.g. opencontainers/runc#2212, opencontainers/runc#2213, kubernetes/enhancements#1370, containerd/cgroups#111, containerd/cgroups#143, kubernetes/kubernetes#85218, etc.), but I'm not sure if the runtime-spec is intended to host any functional code like conversion functions? |
I think it should not. It will be better to define a way to set cgroup v2 values without any conversion. It will be a breaking change for the entire stack, but it is cleaner than the conversion done now. I thought of the cgroup v1 -> cgroup v2 conversion as a temporary step and to allow an incremental implementation of cgroup v2 in the other components without requiring changes in the OCI specs. |
woof. i'm not keen on a breaking change. How can we introduce v2 values, but allow a failback to conversion?
|
we had some discussions in the past with @filbranden and @mrunalp about having a separate config section for cgroup v2, but at this point I think we can just add cgroup v2 configuration as part of the So we could have something:
and:
to be equivalent |
Would it not be possible to add a (cgroup-)version-tag to the resources? If absent, it could default to v1 for the time being, but if present with the correct value, it would be possible to correctly specify v2-values directly without a breaking change (AFAIU). Having no cgroup-version specified could then be deprecated, and similarly for specifying v1-values on a v2-host. Some time far down the road, the v1-option could be deprecated, and then the version-field could eventually be removed again (once the vast majority of deployments runs on v2). |
I've opened a PR to extend cgroup v2 support: #1040 It doesn't break the existing configuration, and at the same time it takes into account what OCI runtimes are already doing on cgroup v2 |
Is this issue closable? |
actually, I would guess so. Any outstanding items should be opened and tracked individually |
Cgroups unified hierarchy has been on the horizon for a while, and is now reaching critical mass to begin switching over. Most all the controllers or equivalent are there, but there are mappings needed.
This issue should serve as the tracker for remaining issues to close this gap.
Related #948
The text was updated successfully, but these errors were encountered: