-
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
restore: tell CRIU to use existing namespaces #2583
restore: tell CRIU to use existing namespaces #2583
Conversation
CI complains:
|
140ed67
to
9808cad
Compare
@kolyshkin Thanks for the review. I changed the code and also used |
9808cad
to
0690d50
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait a minute...
6944ef0
to
4cd7069
Compare
With the changes tests are failing... Because the code is just wrong. Will fix it. |
runc already tells CRIU to restore into an existing network or PID namespace if there is a path to a namespace specified in config.json. PID and network have special handling in CRIU using CRIU's inherit_fd interface. For UTS, IPC and MOUNT namespaces CRIU can join those existing namespaces using CRIU's join_ns interface. This is especially interesting for environments where containers are running in a pod which already has running containers (pause for example) with namespaces configured and the restored container needs to join these namespaces. CRIU has no support to join an existing CGROUP namespace (yet?) why restoring a container with a path specified to a CGROUP namespace will be aborted by runc. CRIU would have support to restore a container into an existing time namespace, but runc does not yet seem to support time namespaces. Signed-off-by: Adrian Reber <areber@redhat.com>
4cd7069
to
2ccefa6
Compare
Now it works as intended. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@AkihiroSuda @mrunalp PTAL |
runc already tells CRIU to restore into an existing network or PID namespace if there is a path to a namespace specified in config.json.
PID and network have special handling in CRIU using CRIU's inherit_fd interface.
For UTS, IPC and MOUNT namespaces CRIU can join those existing namespaces using CRIU's join_ns interface.
This is especially interesting for environments where containers are running in a pod which already has running containers (pause for example) with namespaces configured and the restored container needs to join these namespaces.
CRIU has no support to join an existing CGROUP namespace (yet?) why restoring a container with a path specified to a CGROUP namespace will be aborted by runc.
CRIU would have support to restore a container into an existing time namespace, but runc does not yet seem to support time namespaces.