AuthorCommitMessageCommit dateIssues
Pavel EmelyanovGitHubPavel Emelyanov
02199d87588MMerge pull request #12 from pvokhmyanin/masterp.haul: Add net_cls,net_prio cgroup controller to criu request
Pavel VokhmyaninPavel Vokhmyanin
e91120c59e7p.haul: Fix cgroup controller list generationCgroup controller names do not match external mount points, thus we should use separate list to fill the controllers list. Also, ve and beancounter controllers were missing, they're also added by this patch. Signed-off-by: Pavel Vokhmyanin <pvokhmyanin@virtuozzo.com>
Pavel EmelyanovGitHubPavel Emelyanov
526bc5f7494MMerge pull request #10 from pvokhmyanin/masterp.haul: Fill in cgroup controller list for criu request
Pavel VokhmyaninPavel Vokhmyanin
fc8375c22ffp.haul: Fill in cgroup controller list for criu requestCRIU does not have hardcoded controller list since 2.10.0.17, thus we need to generate it and pass into CRIU RPC server via request opts.
Pavel EmelyanovGitHubPavel Emelyanov
29f30036597MMerge pull request #9 from pvokhmyanin/masterp.haul: Add pids cgroup external mapping
Pavel VokhmyaninPavel Vokhmyanin
a8b190ab5aep.haul: Add pids cgroup external mapping
Pavel EmelyanovGitHubPavel Emelyanov
2c81dee6e2dMMerge pull request #8 from pvokhmyanin/masterp.haul: Use tcp_skip_in_flight CRIU option unconditionally
Pavel VokhmyaninPavel Vokhmyanin
cc55e6aaa13p.haul: Use tcp_skip_in_flight CRIU option unconditionallyUntil CRIU learns to support sockets from a listen socket queue it's better to drop half-opened sockets - this approach does not pose any noticeable drawback to the users and allows migration to succeed. Signed-off-by: Pavel Vokhmyanin <pvokhmyanin@virtuozzo.com>
Veronika KabatovaPavel EmelyanovVeronika Kabatova
bb44a2e7e19runc: add run_action_script functionSigned-off-by: Veronika Kabatova <vkabatov@redhat.com> Acked-by: Adrian Reber <areber@redhat.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Veronika KabatovaPavel EmelyanovVeronika Kabatova
e4c3a30d637runc: Migration fail implementation, mkdir permission additionThe migration should fail if container with same ID is running on target host. If same-ID container is created after the migration start, cleanup of bundle directory is performed. /var/run/runc/CONTAINER_ID is also created with the same permissions as it is in runc, not the defaults. Signed-off-by: Veronika Kabatova <vkabatov@redhat.com> Acked-by: Adrian Reber <areber@redhat.com> Signed-off-b...
Veronika KabatovaPavel EmelyanovVeronika Kabatova
3299a8cb483runc: Add support for bind and cgroup mountsAllow migration of containers with binded / cgroup mounts. Using the same system as runc uses for C/R, bind and cgroup mounts are passed to criu via the `--ext-mount-map` options (`req.opts.ext_mnt` for Python criu API). Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Veronika KabatovaPavel EmelyanovVeronika Kabatova
dae1264b002Add support for migration of basic runc containerThis 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 p...
Pavel EmelyanovGitHubPavel Emelyanov
9e01ad67e13MMerge pull request #7 from pvokhmyanin/masterp.haul: Introduce action scripts executed on different stages
Pavel VokhmyaninPavel Vokhmyanin
c912f9d9840p.haul: Introduce action scripts executed on different stagesCRIU has actions scripts which are executed on different stages, however when it is executed in RPC mode - scripts are not invoked. This patch introduces action scripts routine in p.haul itself. Action scripts are required to enable migration of a container with active NFS client running inside. Signed-off-by: Pavel Vokhmyanin <pvokhmyanin@virtuozzo.com>
Pavel EmelyanovGitHubPavel Emelyanov
cc1a00526cfMMerge pull request #5 from pvokhmyanin/masterDrop ifdown from net_lock
Pavel VokhmyaninPavel Vokhmyanin
71d0c8b2a1dDrop ifdown from net_lockBlocking network interfaces is non-essential for a dump, however it blocks traffic which is crucial for a successful checkpoint of a NFS client inside of the container.
Pavel VokhmyaninPavel EmelyanovPavel Vokhmyanin
78d2b04dd5dp.haul: Generate cgroup external mount map dynamicallylibvzctl generates map dynamically by iterating through the known list and looking up actual mount points, however p.haul just uses hardcoded map. Due to difference in algorithms they might generate different maps which leads to migration failure. Signed-off-by: Pavel Vokhmyanin <pvokhmyanin@virtuozzo.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Pavel Emelyanov <xemu...
Pavel TikhomirovPavel EmelyanovPavel Tikhomirov
e05a1424070add --auto_dedup optionadd option on local dump/predump, on page-server and on restore Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Pavel EmelyanovGitHubPavel Emelyanov
fe02f1256ccMMerge pull request #3 from dmitry-guryanov/fix2Fix syntax to partially comply PEP8
Dmitry GuryanovDmitry Guryanov
850830d7c3bFix syntax slightly to make flake8 happy (except tabs)
Dmitry GuryanovDmitry Guryanov
acdc55e228cAdd ability to check PEP8 compliance with flake8Let's do it via tox with extra checks from hacking module. To check syntax run: tox -e pep8
Pavel EmelyanovGitHubPavel Emelyanov
ecdb1bb03efMMerge pull request #1 from dmitry-guryanov/fix2Please, take patches from downstream
Cyrill GorcunovDmitry GuryanovCyrill Gorcunov
4c730d81305Fix rpc module name changeIn criu commit f3e412f9004486cbfab285bedf8d47d421551f8a the RPC module has been renamed to rpc_pb2.py thus we have to reflect this change here too. Note the renaming happened in CRIU-2.8 series. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>CRIU-2
Dmitry GuryanovDmitry Guryanov
5b066fa9036add --nostart optionAdd ability to skip start on destination node if migration is run in restart mode. It's needed to support --nostart option of vzmigrate.
Dmitry GuryanovDmitry Guryanov
db375002cf2Fix restart migration on vzstorageUmount container before start on target host, because we can't mount ploop image, located on vzstorage from two hosts simultaneously.
Alexander BurlukaDmitry GuryanovAlexander Burluka
bfa9601feb8Fix rollback for Virtuozzo container migration in restart modefail migration if can't start container on target host. Without current fix container migrate successfully but stay in stopped state. Author: nspiridonov@ Signed-off-by: Alexander Burluka <aburluka@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
09434bcc519p.haul: ignore existing old/obsoleted active delta files for ploop disksEase ploop disks check on destination side - don't fail if old/obsoleted active delta files exist during migration of Virtuozzo containers. ploop library ignore such files and overwrite them. This is needed for migration over existing directory. In this mode vzmigrate reuse existing on destination static data of container left there by previously failed migration runs. Signed-off-by: Nikita S...
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
e7fd2bf3890p.haul: fix path to freezer cgroup for Virtuozzo containersFix path to freezer cgroup which phaul passes to criu on predumps and final dump. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
d4bf30add93p.haul: increase dump and predump timeouts for Virtuozzo containersBy default timeout to freeze all processes in container is 10 seconds. For containers with large number of processes freeze can take more time, so increase timeout up to 180 seconds. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
2aa71f41470p.haul: specify secondary ploop disks as external in dump request optionsSpecify secondary ploop disks (second, third and so on) as external in dump request options for Virtuzzo containers. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
d787b7fa06dp.haul: minor functions reordering in Virtuozzo haulerMove __parse_fdfs_arg function of Virtuozzo hauler to the bottom of the class to improve readability a bit. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
771cebc202fp.haul: add Virtuozzo specific argument to pass list of secondary ploop diskAdd Virtuozzo specific --vz-secondary-disks argument needed to pass list of secondary ploop disks. Consider all additional disks of container (second, third and so on) are secondary. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
00c8920c16fp.haul: make it possible to adjust predump requestPass htype to criu_predump function to make it possible to adjust predump requests in specific hauler modules. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
227b1c3baa9p.haul: specify freezer cgroup for predump and dump requests in vz moduleSpecify freezer cgroup for predump and dump rpc requests for Virtuozzo containers. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Arthur LockmanPavel EmelyanovArthur Lockman
fa0869e72adp.haul: Repairing WebGUIPreviously the WebGUI had a redundant --fdmem parameter, causing process migration to fail. This is now removed. Signed-off-by: Arthur Lockman <alockman@redhat.com> Acked-by: Adrian Reber <areber@redhat.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
9c055fa3bdfp.haul: add note about patches subject prefix to readmeAdd note about p.haul patches subject prefix and example of the command to set subject prefix for local repository to readme file. Subject prefix needed since we are going to use patchwork for criu and p.haul and it is needed to separate patches for each project. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
cc4c2c1abf9p.haul: fix error handling after successfull restore at target hostSince we can't fail migration after htype was restored (or started for restart migration mode) at target host need to catch all exceptions in source part of phaul during final cleanup. Phaul can ruin running container without such exceptions handling. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
13c2afe4116p.haul: create Virtuozzo specific dump images during final dumpFor Virtuozzo containers vzctl create addtional images during local dump of the container - vz_clock_bootbased.img, vz_clock_monotonic.img, vz_aio_max_nr.img and vz_core_pattern.img. Need to duplicate this logic in vz module of phaul since we use "vzctl restore" for final restore and it rely on this additional images. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: ...
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
86668541e8bp.haul: minor style improvements in vz moduleMove __setup_restore_extra_args and __remove_restore_extra_args functions below final_restore function to improve readability. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
b623847d045p.haul: forward correct verbosity level to criu restoreForward correct verbosity level to criu restore during Virtuozzo containers live migration. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
28a00e9cf32p.haul: fix root_task_pid function for Virtuozzo containersIt is incorrect to grab root pid of container from first line of cgroups tasks file; get root pid from pidfile instead. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
978ab87902ep.haul: improve subprocess output loggingAdd log_subprocess_output function which add offset and prefix to subprocess output. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
3900fcd4725p.haul: move log_uncaught_exception function to util.pymove log_uncaught_exception function from p.haul and p.haul-service to util.py file to avoid code duplication. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
77f88f670b2p.haul: log few blank lines before each runSince phaul and phaul-service don't overwrite logs anymore, log few blank lines before each run to make logs more readable. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
08000dd8f25p.haul: tweak loggers configurationDon't overwrite phaul and phaul-service log files - append to the end instead. Log pid after timestamp for each line. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
e5abb7e561bp.haul: fix lint warningadd blank line. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
4c88f3be5b6p.haul: handle migration with id changeHandle migration with id change. For example, now we can migrate Virtuozzo container 123 to new id 124 using "--dst-id" option. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
571c47348ebp.haul: add --dst-id optionAdd --dst-id option needed to handle migration with id change. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Alexander BurlukaPavel EmelyanovAlexander Burluka
3243399638bp.haul: prevent VZ CT ARP ping on destination restorevzctl mades address detection before ARP announce --skip_arpdetect option is undocumented that prevents detection. Adding this option will decrease container downtime. Signed-off-by: Alexander Burluka <aburluka@virtuozzo.com> Acked-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Nikita SpiridonovPavel EmelyanovNikita Spiridonov
056e13f37c5p.haul: add --skip-cpu-check and --skip-criu-check optionsAdd --skip-cpu-check and --skip-criu-check options needed to skip specified sanity check. In addition --force option still skip all sanity checks. Signed-off-by: Nikita Spiridonov <nspiridonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>