Skip to content
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

get rid of cgroupPaths for v2 case #2374

Closed
wants to merge 4 commits into from

Conversation

kolyshkin
Copy link
Contributor

@kolyshkin kolyshkin commented May 3, 2020

This patchset fixes the remaining users of GetPaths() in v2 mode, and makes it panic for v2 controllers.

Similarly, make GetUnifiedPath() panic for v1 controllers since it must not be used in this case.

kolyshkin added 4 commits May 2, 2020 18:47
By the time GetUnifiedPath() is called, path should already be set.
Remove the second argument and simplify the callers.

Signed-off-by: Kir Kolyshkin <[email protected]>
The setnsProcess.cgroupPaths map is used by (*setnsProcess).start
to enter the cgroups. Since in case of cgroupv2 unified hierarchy
there is only one cgroup to enter, let's create a map with a
single element in it. As key does not matter it is empty.

As a side effect, we won't write the pid into the same file 7 times :)

Signed-off-by: Kir Kolyshkin <[email protected]>
In case of cgroupv2 unified hierarchy, let's use a map with a single
element, with an empty string key and a unified path as the value.

Modify the test case accordingly.

Signed-off-by: Kir Kolyshkin <[email protected]>
Since the previous commit, there are no more users of GetPaths
for cgroupv2 unified hierarchy mode. We can't remove these methods
without differentiating between v1 and v2 cgroup managers, so
let's make them panic to make sure they are not called for v1.

Signed-off-by: Kir Kolyshkin <[email protected]>
@kolyshkin
Copy link
Contributor Author

There is one last user of GetPaths() for v2, it's runc events. This is addressed by #2352

@kolyshkin kolyshkin marked this pull request as ready for review May 4, 2020 22:58
@kolyshkin kolyshkin changed the title WIP get rid of cgroupPaths for v2 case get rid of cgroupPaths for v2 case May 4, 2020
@kolyshkin
Copy link
Contributor Author

No longer a WIP, ready for review.

// in legacy mode.
GetUnifiedPath() (string, error)
GetUnifiedPath() string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets split the interface

@kolyshkin
Copy link
Contributor Author

Replaced by #2386

@kolyshkin kolyshkin closed this May 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants