Skip to content

get rid of cgroupPaths for v2 case#2374

Closed
kolyshkin wants to merge 4 commits into
opencontainers:masterfrom
kolyshkin:no-more-paths
Closed

get rid of cgroupPaths for v2 case#2374
kolyshkin wants to merge 4 commits into
opencontainers:masterfrom
kolyshkin:no-more-paths

Conversation

@kolyshkin
Copy link
Copy Markdown
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 <kolyshkin@gmail.com>
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 <kolyshkin@gmail.com>
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 <kolyshkin@gmail.com>
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 <kolyshkin@gmail.com>
@kolyshkin
Copy link
Copy Markdown
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
Copy Markdown
Contributor Author

No longer a WIP, ready for review.

// GetUnifiedPath panics when running in hybrid mode as well as
// in legacy mode.
GetUnifiedPath() (string, error)
GetUnifiedPath() string
Copy link
Copy Markdown
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
Copy Markdown
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