-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[post 1.0] RFC: separate out libcontainer/cgroups, maybe merge with containerd/cgroups #3007
Comments
👍 |
Definitely 👍. I don't see benefit in multiple projects maintaining code for handling this, so if we can share the effort in maintaining it, would (IMO) benefit everyone. Handling cgroups is already "hairy" (with lots of oddities). |
Separating out the go module might be fine, but separating the repo will cause "vendoring hell", so I still prefer monorepo |
@AkihiroSuda any specific repositories where you think this would become vendoring hell? (Thinking of circular dependencies). Of course, the repo would need to try to stick to SemVer(isn) (no breaking changes). |
The repo of runc and libct/cgroups themselves will face issues, as testing runc requires libct/cgroups and vice versa. For similar reason, we merged back libnetwork into Moby. |
Alternatively we can just move all of I think this would be far more preferable to having a separate repo -- and if we plan to have more regular releases than that isn't a strong argument to have a separate repo either. |
SGTM |
Yeah, moving parts of libcontainer (that are not used by other projects) to under |
Can we still consolidate the cgroup handling from containerd and libcontainer? |
Ultimately this is still my goal, although it's not yet clear how to do it in a monorepo. Maybe we can just steal/adopt containerd/cgroups API, while mostly retaining libcontainer/cgroups implementation. All this is after #3007 (comment) is implemented. |
@kolyshkin can we please do this for |
Despite the warnings we have, libcontainer is used by lots of other projects, like kubernetes, cri-o etc. One particular piece is libcontainer/cgroups.
I think we should separate libcontainer/cgroups out to say opencontainers/cgroups, and possibly merge with containerd/cgroups (which from the first glance has better API but probably not as practical implementation esp for cgroup v2). Maybe the way to go is
This is a big and potentially disruptive project but it should clear things up a lot,
resulting in better code, clearer APIs, and less effort duplication.
(Ultimately, all of libcontainer should either be separated out or moved into internal, but this is a larger goal)
WDYT @opencontainers/runc-maintainers @crosbymichael @thaJeztah @estesp @dmcgowan
The text was updated successfully, but these errors were encountered: