Commits
Veronika Kabatova authored and Pavel Emelyanov committed dae1264b002
Add support for migration of basic runc container This patch allows migration of a runc container without --tcp-established option or mounts (a patch with support for mount follows). Example usage includes running `p.haul-wrap service` on target host and `p.haul-wrap client <target-ip> runc <container-id>` on source host. Bundle directory should exist (with the same path) on target host and no container with the same ID should exist there (a patch with checks, bundle directory creation and cleanup in case of failed migration may follow later). The criu API is used directly for checkpoint and restore because the C/R implemented in runc doesn't allow pre-dump option yet and using external commands `runc checkpoint` and `runc restore` doesn't integrate well with p.haul (the migration itself works, but p.haul complains about receiving empty messages from criu and migration statistics are left out as well). After migration of process tree itself, a directory with container status is created with the same `state.json` file as the original container had, just with a new ID of the root process. This is for the runc process to acknowledge existence of the container. Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>