Difference between revisions of "Integration"

From CRIU
Jump to navigation Jump to search
(Created page with "CRIU is quite hard to uses alone. This tool does is best when integrated with some other. == OpenVZ == * [https://openvz.org Project homepage] == LXC/LXD == * [http://linuxc...")
 
(39 intermediate revisions by 4 users not shown)
Line 1: Line 1:
CRIU is quite hard to uses alone. This tool does is best when integrated with some other.
+
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.
  
== OpenVZ ==
+
== Container platforms ==
* [https://openvz.org Project homepage]
 
  
== LXC/LXD ==
+
=== Virtuozzo/OpenVZ ===
 +
{{Status|ready}}
 +
 
 +
As of Virtuozzo/OpenVZ 7, CRIU is fully integrated and supported. Older OpenVZ releases used in-kernel checkpoint/restore functionality, now superseded by CRIU.
 +
 
 +
* [https://openvz.org/ OpenVZ]
 +
* [https://virtuozzo.com/ Virtuozzo]
 +
 
 +
=== LXC/LXD ===
 +
{{Status|ready}}
 
* [http://linuxcontainers.org Project homepage]
 
* [http://linuxcontainers.org Project homepage]
 
* The tools version 1.1.0 fully supports CRIU to C/R LXC containers
 
* The tools version 1.1.0 fully supports CRIU to C/R LXC containers
 +
* [https://linuxcontainers.org/lxc/manpages/man1/lxc-checkpoint.1.html lxc-checkpoint man page]
 +
 +
''See also: [[LXC]]''
  
== Docker ==
+
=== Docker ===
 +
{{Status|ready}}
 
* [https://docker.io Project homepage]
 
* [https://docker.io Project homepage]
* Integration [https://github.com/docker/libcontainer/pull/204 efforts] done by Saied Kazemi from Google
+
* [https://github.com/docker/libcontainer/pull/479 Merged] into libcontainer/runc
 +
* [https://github.com/docker/docker/pull/22049 Merged] into Docker itself
 +
* Preparations [https://github.com/docker/libcontainer/pull/204 efforts] done by Saied Kazemi
 +
 
 +
''See also: [[Docker]] C/R''
 +
 
 +
=== 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
  
== OpenMPI ==
+
''See also: [[Screen]]''
 +
 
 +
=== Shell ===
 +
{{Status|not started}}
 +
 
 +
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. Right now we workaround it with "[[shell jobs]]".
 +
 
 +
''See also: [[Shell jobs]]''
 +
 
 +
== Other ==
 +
 
 +
=== OpenMPI ===
 +
{{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
  
== Wayland/Weston ==
+
=== Subgraph OS ===
* Ruslan Kuprieiev plans to [http://lists.openvz.org/pipermail/criu/2015-January/018875.html patch] the X-server to let CRIU C/R graphical apps
+
{{Status|not started}}
 +
 
 +
* [https://subgraph.com/sgos/index.en.html Subgraph OS] is a desktop operation system uses containers for users applications.
 +
 
 +
=== SLURM workload manager ===
 +
{{Status|ready}}
 +
 
 +
* Project homepage [http://slurm.schedmd.com/slurm.html here]
 +
* Integration code [https://github.com/supermanue/slurm/commits/criuPlugin on the github]
 +
 
 +
=== Wayland/Weston ===
 +
{{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
 +
 
 +
''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).
 +
 
 +
[[Category:Plans]]
 +
[[Category:Development]]

Revision as of 17:30, 29 January 2018

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

As of Virtuozzo/OpenVZ 7, CRIU is fully integrated and supported. Older OpenVZ releases used in-kernel checkpoint/restore functionality, now superseded by CRIU.

LXC/LXD

Status: ready

See also: LXC

Docker

Status: ready

See also: Docker C/R

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

See also: Screen

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. Right now we workaround it with "shell jobs".

See also: Shell jobs

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

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).