[CRIU] [PATCH] zdtm: add ability to execute non-namespacess tests concurrently
Andrew Vagin
avagin at parallels.com
Wed Aug 13 07:50:03 PDT 2014
On Wed, Aug 13, 2014 at 05:43:16PM +0300, Ruslan Kuprieiev wrote:
> 13.08.2014 14:19, Ruslan Kuprieiev пишет:
> >08.08.2014 21:31, Andrey Vagin пишет:
> >>For that zdtm.sh is executed in pidns to avoid pid conflicts.
> >>
> >>Cc: Christopher Covington <cov at codeaurora.org>
> >>Signed-off-by: Andrey Vagin <avagin at openvz.org>
> >>---
> >> test/Makefile | 10 +++++-----
> >> test/zdtm.sh | 21 +++++++++++++++++++++
> >> 2 files changed, 26 insertions(+), 5 deletions(-)
> >>
> >>diff --git a/test/Makefile b/test/Makefile
> >>index 351b37b..5d04805 100644
> >>--- a/test/Makefile
> >>+++ b/test/Makefile
> >>@@ -16,11 +16,9 @@ other: .FORCE
> >> $(MAKE) -C $$t run || break; \
> >> done \
> >> -zdtm: .FORCE
> >>+zdtm: .FORCE
> >> $(MAKE) zdtm_ns
> >>- for t in $(shell echo "$(TST)" | tr ' ' '\n' | grep -Pv $(EXP)); do
> >>\
> >>- $(MAKE) $$t || break; \
> >>- done
> >>+ $(MAKE) zdtm_nons
> >> .PHONY: zdtm
> >> fault-injection: .FORCE
> >>@@ -28,7 +26,9 @@ fault-injection: .FORCE
> >> .PHONY: fault-injection
> >> zdtm_ns: $(shell echo "$(TST)" | tr ' ' '\n' | grep -P $(EXP))
> >>+zdtm_nons: $(shell echo "$(TST)" | tr ' ' '\n' | grep -vP $(EXP))
> >>+
> >> $(TST):
> >>- ./zdtm.sh ${ZDTM_ARGS} $(@) &> $(subst /,_,$@).log || \
> >>+ ./zdtm.sh --ct ${ZDTM_ARGS} $(@) &> $(subst /,_,$@).log || \
> >> { flock Makefile cat $(subst /,_,$@).log; exit 1; }
> >> .PHONY: zdtm_ns
> >>diff --git a/test/zdtm.sh b/test/zdtm.sh
> >>index d1a710d..b6c8095 100755
> >>--- a/test/zdtm.sh
> >>+++ b/test/zdtm.sh
> >>@@ -762,6 +762,7 @@ Options:
> >> -P : Make pre-dump instead of dump on all iterations except the
> >>last one
> >> -s : Make iterative snapshots. Only the last one will be checked.
> >> --auto-dedup : Make auto-dedup on restore. Check sizes of pages
> >>imges, it must be zero.
> >>+ --ct : re-execute $0 in a container
> >> EOF
> >> }
> >> @@ -868,6 +869,26 @@ while :; do
> >> usage
> >> exit 0
> >> ;;
> >>+ --ct)
> >>+ [ -z "$ZDTM_SH_IN_CT" ] && {
> >>+ export ZDTM_SH_IN_CT=1
> >>+ shift
> >>+ args="$@"
> >>+ # pidns is used to avoid conflicts
> >>+ # mntns is used to mount /proc
> >>+ # net is used to avoid conflicts of parasite sockets
> >>+ unshare --pid --mount --ipc --net -- bash -c "
> >>+
> >
> >On ubuntu server 14.04 "make test" leads to error "unshare: unrecognized
> >option '--pid'".
> >
>
> Same issue on desktop version. unshare from util-linux package doesn't have
> option '--pid'.
Pls, look at "[CRIU] [PATCH] zdtm: add a small program to create a zdtm
container".
>
> >> (
> >>+ ip link set up dev lo &&
> >>+ mount --make-rprivate / &&
> >>+ umount -l /proc &&
> >>+ mount -t proc proc /proc/ &&
> >>+ ./zdtm.sh $args
> >>+ )"
> >>+ exit
> >>+ }
> >>+ shift
> >>+ ;;
> >> -*)
> >> echo "Unrecognized option $1, aborting!" 1>&2
> >> usage
> >
>
More information about the CRIU
mailing list