2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-27 04:18:27 +00:00

1777 Commits

Author SHA1 Message Date
Andrew Vagin
1d0fcfa8f7 zdtm: don't run cgroup04 concurrently with other cgroup tests
It uses --manage-cgroup full and can dump and restore cgroup of other tests.

Reported-by: Mr Jenkins
Cc: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Acked-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:15:28 +03:00
Pavel Tikhomirov
d7f9e824d3 zdtm/net/sysctl: add all to test and fix order
1. First save/check all,default,lo together and only after - set them,
as setting some sysctls can affect the others
2. Set "accept_redirects" after "forwarding" both for ipv4 and ipv6
3. Change order to "all", "default", "lo"

*One can not set ipv6.conf.all.stable_secret, so don't even try, see:
commit 622c81d57b39 ("ipv6: generation of stable privacy addresses for
link-local and autoconf")

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:12:26 +03:00
Tycho Andersen
e3b686f864 tests: remove commented out code
An oddity (bug?) means that we don't preserve empty cgroups in in the criu
cgset, since we don't dump it. So we do need to move things into tasks.

(This probably got commented out due to a bug in the Ubuntu kernel that I
ran across [1] which should be fixed shortly :)

[1]: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1588056

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:12:26 +03:00
Tycho Andersen
c8d79fcbbb tests: cgroup04 needs "full" cgroup mode
Because we're doing this on the same host, the cgroups will already exist.
We need to write the properties in full mode to exercise these cases.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:12:26 +03:00
Andrew Vagin
39e4073daf zdtm/socket_aio: add the nouser flag
======================= Run zdtm/static/socket_aio in h ========================
Makefile:295: target 'mnt_enablefs.pid' given more than once in the same rule
Start test
Makefile:295: target 'mnt_enablefs.pid' given more than once in the same rule
./socket_aio --pidfile=socket_aio.pid --outfile=socket_aio.out
Run criu dump
=[log]=> dump/zdtm/static/socket_aio/24/1/dump.log
------------------------ grep Error ------------------------
(00.003450) Error (util.c:665): exited, status=3
(00.009104) Error (util.c:665): exited, status=3
(00.024564) Error (util.c:665): exited, status=3
(00.024598) Error (netfilter.c:88): Iptables configuration failed: Success
(00.024625) Error (cr-dump.c:1297): Dump files (pid: 24) failed with -1
(00.025117) Error (cr-dump.c:1605): Dumping FAILED.
------------------------ ERROR OVER ------------------------
Wait for zdtm/static/socket_aio to die for 0.100000

Reported-by: Mr Jenkins
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:12:26 +03:00
Andrew Vagin
be663b002d test/crit-recode: skip images with zero size
Now we have many tests with the crfail flags. When criu dump fails,
criu may create image files, but doesn't fill them.

Reported-by: Mr Jenkins
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:12:26 +03:00
Andrew Vagin
877558fc8c test/crit-recode: skip rule-%d.img
These images are generated by the ip tool.

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:12:26 +03:00
Andrew Vagin
55de67a7fa zdtm/shm-unaligned: don't overriding recipe for target 'shm-unaligned.pid'
Makefile:305: warning: overriding recipe for target 'shm-unaligned.pid'
Makefile:290: warning: ignoring old recipe for target 'shm-unaligned.pid'
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:40 +03:00
Andrew Vagin
2a835eb8d1 zdtm: remove or replace noauto on crfail where it's possiable
CRIU dump should fail if criu can't handle something.

v2: add a separate patch to remove noauto for a few tests

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:40 +03:00
Andrew Vagin
99c6e840fc zdtm: remove the noauto flags for tests which can be executed
Looks like noauto was set by mistake for these tests

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:40 +03:00
Tycho Andersen
b734cd4003 tests: add a test for cgroup kernel controller props
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
CC: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:40 +03:00
Cyrill Gorcunov
e47c3684fa test: static, fanotify00 -- Don't compare @s_dev in test
The s_dev as well as mnt_id may change during container
migration, so exclude them from the comparision.

Signed-off-by: Cyrill Gorcunov <gorcunov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:39 +03:00
Andrew Vagin
f1015e4cdf zdtm/tty*: wait when processes complete a preparation stage
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:39 +03:00
Andrew Vagin
66299a0065 zdtm: use flake8 to verify zdtm.py
and fix various warnings. For example, we mix tab and space indentations.

v2: add flake8.cfg

Cc: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Acked-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:35 +03:00
Andrew Vagin
51970afa5e zdtm: don't fail if a test changed cwd
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:05:53 +03:00
Andrey Vagin
1cd1da9ca1 zdtm/ptrace_sig: don't print from signal handlers
It can be dead-lokced:
 #0  0x00007fafbf49f6ac in __lll_lock_wait_private () from /lib64/libc.so.6
 #1  0x00007fafbf44af1c in _L_lock_2460 () from /lib64/libc.so.6
 #2  0x00007fafbf44ad57 in __tz_convert () from /lib64/libc.so.6
 #3  0x00000000004022e2 in test_msg (format=0x404508 "Receive signal %d\n") at msg.c:51
 #4  <signal handler called>
 #5  0x00007fafbf3f2483 in __GI__IO_vfscanf () from /lib64/libc.so.6
 #6  0x00007fafbf408f27 in vsscanf () from /lib64/libc.so.6
 #7  0x00007fafbf4032f7 in sscanf () from /lib64/libc.so.6
 #8  0x00007fafbf449ba6 in __tzset_parse_tz () from /lib64/libc.so.6
 #9  0x00007fafbf44c4cb in __tzfile_compute () from /lib64/libc.so.6
 #10 0x00007fafbf44ae17 in __tz_convert () from /lib64/libc.so.6
 #11 0x00000000004022e2 in test_msg (format=format@entry=0x40458c "PASS\n") at msg.c:51
 #12 0x0000000000401ceb in main (argc=<optimized out>, argv=<optimized out>) at ptrace_sig.c:172

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Tested-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:05:53 +03:00
Ruslan Kuprieiev
947358a9ed test: add manual test for criu-coredump
Convert criu images to coredumps and check if they are
readable by readelf.

Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:04:00 +03:00
Ruslan Kuprieiev
e569e46b31 test: fix manual crit test
In automated tests we use test/crit-recode.py because of performance
benefits(no need to launch python interpreter more than once), but
manual test is still useful for manual testing, so lets make it
work again.

Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:04:00 +03:00
Laurent Dufour
f6cc277cad test/zdtm : shm-mp fix page size
Test should not assume that page size is 4096.

The test was failing on ppc64 where page size is usually 64K.

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-14 11:23:58 +03:00
Pavel Emelyanov
67038451a9 ipc: SysVshmem segment can be unaligned
It's possible to create sysvshmem segment with size not being
multiple of page_size. And this very size will be reported
everywhere in the interfaces.

Support this type of segments too.

Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
2016-06-01 14:52:22 +03:00
Pavel Tikhomirov
3bc62b36a5 zdtm/netns-dev: fix misprint in hop_limit interval it should be {1, 255}
Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Acked-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:52:22 +03:00
Pavel Emelyanov
2f5b99045e zdtm: Helper for ns compare
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:52:21 +03:00
Andrew Vagin
0edee56729 zdtm: up the loopback device in a new network namespace
In this case we can run more tests

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:52:21 +03:00
Andrew Vagin
9064905720 jenkins: add a new job to check --join-ns
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:52:21 +03:00
Dengguangxing
dcabc7a5e7 add join-ns result check to zdtm
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:52:21 +03:00
Dengguangxing
2708e5b870 join-ns: Fix join-ns zdtm test
join-ns zdtm test will skip ns and uns flavors, and
some socket related test, too. Because join-ns test will
try to join an existing network namespace.

Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:52:21 +03:00
Dengguangxing
d6bdc90ac9 join-ns: add join-ns zdtm test
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:44:46 +03:00
Andrew Vagin
5a557f2e3b zdtm/mnt_ext_*: don't affect the host mount namespace
Currently all test mounts are mounted in the host mount namespace,
so on restore we get root with some mounts.

Cc: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Acked-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-31 15:02:37 +03:00
Andrew Vagin
5e86697cb6 zdtm: don't skip mounts with the same root and source
Now we don't detect extra mounts, if they have peers with the same root
and target paths.

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Acked-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-31 15:02:37 +03:00
Andrew Vagin
8a2cefcc04 zdtm: save output of all tests in the /output file of a report
Jenkins sends this files as a message body if something failed.

Cc: Sergey Bronnikov <sergeyb@openvz.org>
Fixes: 474f2dfc5dd4 ("zdtm.py: add option --keep-going")
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-31 15:02:37 +03:00
Andrew Vagin
f55265f0f5 zdtm: handle unknown flavors
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-31 12:48:59 +03:00
Andrew Vagin
d10768719b zdtm/netns-dev: restrict hop_limit sysctl setting to range [1;255]
$ git log v4.4-rc1-465-gd6df198
commit d6df198d924775e4751561cf60ef0294e95f74df
Author: Phil Sutter <phil@nwl.cc>
Date:   Tue Dec 1 22:45:15 2015 +0100

    net: ipv6: restrict hop_limit sysctl setting to range [1; 255]

    Setting a value bigger than 255 resulted in using only the lower eight
    bits of that value as it is assigned to the u8 header field. To avoid
    this unexpected result, reject such values.

https://github.com/xemul/criu/issues/164
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:47:33 +03:00
Andrew Vagin
a4facc6b55 zdtm/mnt_tracefs: mount tracefs and don't affect an external mount namepace
====================== Run zdtm/static/mnt_tracefs in uns ======================
Start test
./mnt_tracefs --pidfile=mnt_tracefs.pid --outfile=mnt_tracefs.out --dirname=mnt_tracefs.test
Run criu dump
Wait for zdtm/static/mnt_tracefs to die for 0.100000
Run criu restore
Run criu dump
Run criu restore
Run criu dump
Run criu restore
1: Old mounts lost: set([])
1: New mounts appeared: set([('/', '/debugfs/tracing')])
Wait for zdtm/static/mnt_tracefs to die for 0.100000

Cc: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Acked-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:47:33 +03:00
Pavel Emelyanov
ce9b04007d test: Test for partially mprotect()-ed sysv shmem segment
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:39:02 +03:00
Andrey Ryabinin
d697415e9a test/sockets: add test for shut down stream unix sockets
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Acked-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:39:02 +03:00
Tycho Andersen
52db8e4d9b gitignore: ignore some more test binaries
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:39:02 +03:00
Tycho Andersen
fb4bb20721 add a tracefs test
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:39:02 +03:00
Andrew Vagin
85ab050df4 zdtm: check a process with many file vma-s
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:39:01 +03:00
Andrew Vagin
8e778d29c6 zdtm: check in-flight data in ttys
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:39:01 +03:00
Andrew Vagin
4998d1ce53 zdtm: show errors for a second attempt of the same action
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:37:11 +03:00
Andrew Vagin
402b0e0e28 zdtm: add a new test to check ghost files in a non-root mntns
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:37:11 +03:00
Andrew Vagin
cf292404ca zdtm: check how criu can dump file systems if some mount points are overmounted
Test-for: c59759345e6e ("mount: dump a file system only if a mount point isn't overmounted")
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:37:11 +03:00
Andrew Vagin
8bfaa21d08 zdtm: add a test to check a case when two mounts in the same directory
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:37:11 +03:00
Pavel Tikhomirov
52bccb262c zdtm/net/ipv6: add test for string stable_secret
stable_secret is always unset in new netns, and we can not restore
it to that state after it is set, so just skip save/restore steps

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Reviewed-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:32:05 +03:00
Pavel Tikhomirov
c4db738652 zdtm/net/ipv6: add test for confs
Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Reviewed-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:32:05 +03:00
Pavel Tikhomirov
19f5a31396 zdtm/net/ipv6: add devconfs6 and rand_range6
Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Reviewed-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:32:05 +03:00
Pavel Tikhomirov
5c79347327 zdtm/net/ipv6: allow inacurate match for mldvX_unsolicited_report_interval
mldv1_unsolicited_report_interval and mldv2_unsolicited_report_interval
are rounded up to (MSEC_PER_SEC / HZ)*k when set as in kernel they are
saved in jiffies. As min HZ is 100, 10 is MAX_MSEC_GRANULARITY.

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Reviewed-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:32:05 +03:00
Pavel Tikhomirov
cde72cabbd zdtm/net/ipv4: split save_and_set and check_and_restore
As changing disable_ipv6 sysctl for some device may change mtu sysctl
for it we need to first check mtu, and only then set disable_ipv6.
That can be done splitting our functions into two.

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Reviewed-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:32:05 +03:00
Pavel Tikhomirov
701faddc84 zdtm/net/ipv4: replace rand limits with rand ranges
some sysctls have minimal value != 0 so we will also need to
set their lower limit e.g. /proc/sys/net/ipv6/conf/all/mtu

name                    possible states         range

accept_source_route     "<0", ">=0"             {-1, 0}
medium_id               "-1", "0", ">0"         {-1, INT_MAX}
src_valid_mark          true, false             {0, 1}
tag                     any                     {INT_MIN, INT_MAX}

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Reviewed-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:32:05 +03:00
Pavel Tikhomirov
bd5c7a4b9a zdtm/net/ipv4: make save_and_set and check_and_restore reusable
Get arrays out of save_and_set and check_and_restore, as it is an
overkill to give to the function wich should work with only one
element of array the whole array.

These makes them reusable in future test of ipv6 config.

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Reviewed-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-27 13:32:05 +03:00