Difference between revisions of "Integration"
(Structure changes) |
|||
Line 1: | Line 1: | ||
CRIU is not so easy to be used as a standalone tool -- it works best integrated into other software. This page lists such software and provides details about the current status. | CRIU is not so easy to be used as a standalone tool -- it works best integrated into other software. This page lists such software and provides details about the current status. | ||
− | == Virtuozzo/OpenVZ == | + | == Container platforms == |
+ | |||
+ | === Virtuozzo/OpenVZ === | ||
{{Status|ready}} | {{Status|ready}} | ||
Line 9: | Line 11: | ||
* [https://openvz.org/Virtuozzo Virtuozzo] is a virtualization and automation solution built on top of OpenVZ. | * [https://openvz.org/Virtuozzo Virtuozzo] is a virtualization and automation solution built on top of OpenVZ. | ||
− | == [[LXC]]/LXD == | + | === [[LXC]]/LXD === |
{{Status|ready}} | {{Status|ready}} | ||
* [http://linuxcontainers.org Project homepage] | * [http://linuxcontainers.org Project homepage] | ||
Line 15: | Line 17: | ||
* [https://linuxcontainers.org/lxc/manpages/man1/lxc-checkpoint.1.html lxc-checkpoint man page] | * [https://linuxcontainers.org/lxc/manpages/man1/lxc-checkpoint.1.html lxc-checkpoint man page] | ||
− | == [[Docker]] == | + | === [[Docker]] === |
{{Status|in progress}} | {{Status|in progress}} | ||
* [https://docker.io Project homepage] | * [https://docker.io Project homepage] | ||
Line 21: | Line 23: | ||
* [https://github.com/docker/libcontainer/pull/479 Merged] into libcontainers | * [https://github.com/docker/libcontainer/pull/479 Merged] into libcontainers | ||
− | == CoreOS Rocket == | + | === CoreOS Rocket === |
+ | {{Status|not started}} | ||
+ | |||
+ | == Tools and utilities == | ||
+ | |||
+ | === The <code>file</code> utility === | ||
+ | {{Status|ready}} | ||
+ | * Starting from v1.6 new images (v1.1) will be generated | ||
+ | * File utility starting from 5.23 [https://github.com/file/file/commit/0d76d756c5d7d5bbd4df6390b21b080f32665fd6 will support these] | ||
+ | |||
+ | === Screen/TMUX === | ||
+ | {{Status|stalled}} | ||
+ | |||
+ | * Jerome [https://github.com/jpetazzo/critmux did] this some time ago | ||
+ | |||
+ | === Shell === | ||
{{Status|not started}} | {{Status|not started}} | ||
− | == OpenMPI == | + | It would be nice to have bash (or other shell) to launch criu with <code>--restore-sibling</code> option and get new kid processes from it. |
+ | |||
+ | == Other == | ||
+ | |||
+ | === OpenMPI === | ||
{{Status|stalled}} | {{Status|stalled}} | ||
* Adrian Reber [https://lisas.de/~adrian/open-mpi.git/ did] first version of patches | * Adrian Reber [https://lisas.de/~adrian/open-mpi.git/ did] first version of patches | ||
− | == Subgraph OS == | + | === Subgraph OS === |
{{Status|not started}} | {{Status|not started}} | ||
* [https://subgraph.com/sgos/index.en.html Subgraph OS] is a desktop operation system uses containers for users applications. | * [https://subgraph.com/sgos/index.en.html Subgraph OS] is a desktop operation system uses containers for users applications. | ||
− | == SLURM workload manager == | + | === SLURM workload manager === |
{{Status|ready}} | {{Status|ready}} | ||
Line 39: | Line 60: | ||
* Integration code [https://github.com/supermanue/slurm/commits/criuPlugin on the github] | * Integration code [https://github.com/supermanue/slurm/commits/criuPlugin on the github] | ||
− | == | + | === Wayland/Weston === |
{{Status|stalled}} | {{Status|stalled}} | ||
* Ruslan Kuprieiev plans to [http://lists.openvz.org/pipermail/criu/2015-January/018875.html patch] Weston to let CRIU C/R graphical apps | * Ruslan Kuprieiev plans to [http://lists.openvz.org/pipermail/criu/2015-January/018875.html patch] Weston to let CRIU C/R graphical apps | ||
+ | |||
+ | ''See also: [[X applications]] | ||
== Systemd == | == Systemd == | ||
Line 56: | Line 79: | ||
[[Category:Plans]] | [[Category:Plans]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 17:59, 10 September 2016
CRIU is not so easy to be used as a standalone tool -- it works best integrated into other software. This page lists such software and provides details about the current status.
Container platforms
Virtuozzo/OpenVZ
Status: ready
Currently, vzctl supports CRIU for checkpoint/restore of upstream containers (i.e. when non-OpenVZ kernel is used). Commands vzctl suspend
and vzctl restore
fully work. Live migration doesn't work yet as it requires support for vzctl suspend {--suspend, --dump, --kill, --restore}
which is not yet implemented as it requires a separate daemon to hold the state of a partially checkpointed container (or an ability from criu tool to do that).
- Project homepage
- Relevant vzctl git commits
- Virtuozzo is a virtualization and automation solution built on top of OpenVZ.
LXC/LXD
Status: ready
- Project homepage
- The tools version 1.1.0 fully supports CRIU to C/R LXC containers
- lxc-checkpoint man page
Docker
Status: in progress
- Project homepage
- Integration efforts done by Saied Kazemi from Google
- Merged into libcontainers
CoreOS Rocket
Status: not started
Tools and utilities
The file
utility
Status: ready
- Starting from v1.6 new images (v1.1) will be generated
- File utility starting from 5.23 will support these
Screen/TMUX
Status: stalled
- Jerome did this some time ago
Shell
Status: not started
It would be nice to have bash (or other shell) to launch criu with --restore-sibling
option and get new kid processes from it.
Other
OpenMPI
Status: stalled
- Adrian Reber did first version of patches
Subgraph OS
Status: not started
- Subgraph OS is a desktop operation system uses containers for users applications.
SLURM workload manager
Status: ready
- Project homepage here
- Integration code on the github
Wayland/Weston
Status: stalled
- Ruslan Kuprieiev plans to patch Weston to let CRIU C/R graphical apps
See also: X applications
Systemd
Status: not started Adrian suggested that
Migrating processes from one system to another works, depending on the process, pretty good. Migrating a process under systemd's control might be possible by just killing the process on the source side but it cannot become a child process of systemd on the destination of the migration without systemd knowing how to restore a process and thus making it a child process of systemd (--restore-sibling).