[CRIU] CRIU in Docker for Mac

Ross Boucher rboucher at gmail.com
Thu Jan 26 06:40:44 PST 2017


In any case, I was able to grab the built binary and throw it into the
docker for mac VM and successfully checkpoint restore! Thanks for the help.

On Thu, Jan 26, 2017 at 9:24 AM Ross Boucher <rboucher at gmail.com> wrote:

> Well, to be clear, this was just me running the same command travis
> does: make -C scripts/travis $TR_ARCH
> Should those flags be added to the script that actually runs the tests in
> that makefile?
>
> On Wed, Jan 25, 2017 at 2:34 PM Andrei Vagin <avagin at virtuozzo.com> wrote:
>
> On Wed, Jan 25, 2017 at 06:50:32PM +0000, Ross Boucher wrote:
> > Still fails:
> >
> > https://gist.github.com/boucher/220a9e955422d0b35f9cfe1abffbec14
>
>
> """
> (00.061531) Running network-lock scripts
> modprobe: can't change directory to '/lib/modules': No such file or
> directory
> ip6tables-restore v1.6.0: ip6tables-restore: unable to initialize table
> 'filter'
>
> Error occurred at line: 1
> Try `ip6tables-restore -h' or 'ip6tables-restore --help' for more
> information.
> (00.110236) Error (criu/util.c:670): exited, status=2
> """
>
> You have to load modules from the host:
> modprobe xt_mark ip6_tables ip6table_filter nfnetlink nf_conntrack_netlink
> nf_conntrack
>
> or you can use the next command:
> docker run --rm -it --privileged -v /lib/modules:/lib/modules criu-alpine
> ./test/zdtm.py run -t zdtm/static/env00
>
> >
> > On Wed, Jan 25, 2017 at 1:46 PM Andrei Vagin <avagin at gmail.com> wrote:
> >
> >     On Wed, Jan 25, 2017 at 10:39 AM, Ross Boucher <rboucher at gmail.com>
> wrote:
> >     > Should I be applying those patches to your alpine branch or to
> master? I
> >     see
> >     > they are already in your branch (the one built by travis, right?).
> When I
> >     > build your branch, it compiles alright but the tests fail:
> >
> >     There was an extra commit. Now I removed it and you can use the
> alpine
> >     branch from my repo.
> >
> >     Thanks,
> >     Andrei
> >
> >     >
> >     > ========================== Run zdtm/static/env00 in h
> >     > ==========================
> >     > Start test
> >     > ./env00 --pidfile=env00.pid --outfile=env00.out
> --envname=ENV_00_TEST
> >     > Run criu dump
> >     > =[log]=> dump/zdtm/static/env00/32/1/dump.log
> >     > ------------------------ grep Error ------------------------
> >     > (00.044957) Error (criu/util.c:670): exited, status=3
> >     > (00.057244) Error (compel/src/lib/infect-rpc.c:72): Command 66 for
> daemon
> >     > failed with -1
> >     > (00.057276) Error (criu/mem.c:464): Can't dump page with parasite
> >     > (00.057702) Error (criu/cr-dump.c:1673): Dumping FAILED.
> >     > ------------------------ ERROR OVER ------------------------
> >     > ################### Test zdtm/static/env00 FAIL at CRIU dump
> >     > ###################
> >     > Send the 9 signal to  32
> >     > ##################################### FAIL
> >     > #####################################
> >     >
> >     >
> >     > On Wed, Jan 25, 2017 at 2:12 AM Andrei Vagin <avagin at virtuozzo.com
> >
> >     wrote:
> >     >>
> >     >> On Tue, Jan 24, 2017 at 07:37:50PM -0800, Andrei Vagin wrote:
> >     >> > On Tue, Jan 24, 2017 at 11:17:28PM +0000, Ross Boucher wrote:
> >     >> > > It seems that this function probably isn't implemented in
> musl:
> >     >> > >
> >     >> > > https://git.musl-libc.org/cgit/musl/tree/src/sched/
> >     sched_getscheduler.c
> >     >> >
> >     >> > Uhuuuu. musl is so lightweight and fast!!!!!
> >     >> >
> https://git.musl-libc.org/cgit/musl/tree/src/sched/sched_getparam.c
> >     >> >
> >     >> > Ross, could you try out this patch:
> >     >> >
> >     >> > https://github.com/avagin/criu/commit/
> >     265e9fc138f98b742a68b6991225f28d3c99f9b5
> >     >>
> >     >> And you need one more patch:
> >     >>
> >     >> https://github.com/avagin/criu/commit/
> >     ff8777b3628eae6b7cc98c7b925cf88508dd3aa8
> >     >>
> >     >> With these two patches static/env00 passes on Alpine:
> >     >>
> >     >> https://travis-ci.org/avagin/criu/builds/195081973
> >     >>
> >     >> >
> >     >> > Thanks,
> >     >> > Andrei
> >     >> >
> >     >> > >
> >     >> > > Is there any hope for a workaround?
> >     >> > >
> >     >> > > On Tue, Jan 24, 2017 at 6:09 PM Ross Boucher <
> rboucher at gmail.com>
> >     >> > > wrote:
> >     >> > >
> >     >> > >     Installing ip6tables got a bit further, but now it seems
> to fail
> >     >> > > possibly
> >     >> > >     on sched_getscheduler:
> >     >> > >
> >     >> > >     (00.032508) Error (criu/cr-dump.c:134): Can't get sched
> policy
> >     for
> >     >> > > 2337:
> >     >> > >     Function not implemented
> >     >> > >
> >     >> > >     Full log:
> >     >> > >
> https://gist.github.com/boucher/5c8edcbf0c7f9d9e39ed1d74c09440e5
> >     >> > >
> >     >> > >
> >     >> > >     On Tue, Jan 24, 2017 at 5:53 PM Ross Boucher <
> rboucher at gmail.com
> >     >
> >     >> > > wrote:
> >     >> > >
> >     >> > >         Hey everyone,
> >     >> > >
> >     >> > >         Since checkpoint/restore has shipped in experimental
> mode
> >     for
> >     >> > > Docker, I
> >     >> > >         thought I'd try to get it working with Docker for
> Mac. I
> >     think
> >     >> > > this
> >     >> > >         should be possible, since it seems building for
> Alpine linux
> >     >> > > has
> >     >> > >         already been taken care of, but I haven't gotten it
> working
> >     >> > > just yet.
> >     >> > >
> >     >> > >         What I have done is install CRIU 2.9, from the apk
> testing
> >     >> > > repository
> >     >> > >         for alpine linux, in the d4m vm[1], then run a simple
> >     >> > > checkpoint on a
> >     >> > >         busybox container. Here's the dump log:
> >     >> > >
> >     >> > >
> >     >> > >
> https://gist.github.com/boucher/2ac2de1d80ab59bce518d108ec8d0371
> >     >> > >
> >     >> > >         Seems that some network script isn't working, but I'm
> not
> >     sure
> >     >> > > if the
> >     >> > >         log is telling me that its an RPC script.
> >     >> > >
> >     >> > >         Thanis,
> >     >> > >         Ross
> >     >> > >
> >     >> > >
> >     >> > >         [1]: You can access the vm with screen:
> >     >> > >
> >     >> > >         screen ~/Library/Containers/com.docker.docker/Data/
> >     >> > >         com.docker.driver.amd64-linux/tty
> >     >> > >
> >     >> > >
> >     >> >
> >     >> > > _______________________________________________
> >     >> > > CRIU mailing list
> >     >> > > CRIU at openvz.org
> >     >> > > https://lists.openvz.org/mailman/listinfo/criu
> >     >> >
> >     >> > _______________________________________________
> >     >> > CRIU mailing list
> >     >> > CRIU at openvz.org
> >     >> > https://lists.openvz.org/mailman/listinfo/criu
> >     >
> >     >
> >     > _______________________________________________
> >     > CRIU mailing list
> >     > CRIU at openvz.org
> >     > https://lists.openvz.org/mailman/listinfo/criu
> >     >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20170126/01f741c1/attachment-0001.html>


More information about the CRIU mailing list