Difference between revisions of "Integration"

From CRIU
Jump to navigation Jump to search
(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]
  
== [[X applications|Wayland/Weston]] ==
+
=== 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]]
 
== 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}}
 
 
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.
 

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

LXC/LXD

Status: ready

Docker

Status: in progress

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

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