[CRIU] [PATCH RFC v3 0/4] Process Migration using sockets

Mike Rapoport rppt at linux.vnet.ibm.com
Wed Aug 17 00:38:38 PDT 2016


(added CRIU list back)

On Tue, Aug 16, 2016 at 08:32:29AM +0000, Katerina Koukiou wrote:
> On Mon, Aug 15, 2016 at 7:25 AM, Mike Rapoport <rppt at linux.vnet.ibm.com> wrote:
> > On Wed, Aug 10, 2016 at 01:19:34PM +0000, Katerina Koukiou wrote:
> >> For the latter I faced some problems, so any help there would be appreciated.
> >> In particular:
> >> When running the test the first test passes and then the second fails, like this:
> >> The exact same happens with other test, not only with fork test.
> >>
> >> ./zdtm.py run --test zdtm/transition/fork --remote
> >> === Run 1/1 ================
> >> ======================== Run zdtm/transition/fork in ns ========================
> >> Start test
> >> ./fork --pidfile=fork.pid --outfile=fork.out
> >> Adding image cache
> >> Adding image proxy
> >> Run criu dump
> >> Run criu restore
> >> =[log]=> dump/zdtm/transition/fork/7376/1/restore.log
> >> ------------------------ grep Error ------------------------
> >> (00.093454)      1: Error (criu/img-remote-proto.c:292): Unable to connect to local socket: /home/karen/criu/test/dump/zdtm/transition/fork/7376/1/image-cache.sock: No such file or directory
> >> (00.093463)      1: Error (criu/img-remote.c:75): Error opening local connection for seccomp.img:dump/zdtm/transition/fork/7376/1: No such file or directory
> >> ...
> >>
> >> The strange thing is that by looking the restore.log for the second test, the image-cache.sock
> >> file seems to exist and read_remote_image_connection succeeds for some of the images.
> >> Moreover, image-cache.log does not indicate any error.
> >> Any idea what is wrong here?
> >
> > It seems I had similar problem with the UNIX socket used by the lazy-pages
> > daemon.
> > If you are trying to create the socket or to call connect after the
> > namespaces are restored, the calling process sees different subset of
> > filesystem which does not have the UNIX socket special file.
> >
> Mike, you are right. The fails start in the restore log, right after
> building the mountpoints tree. So, you used the opts.workdir
> to put the .sock file in? Do you have any proposal on how to
> fix this?
> Thanks

I've changed the initialization order, so that socket is created and
connected early and then it's file descriptor can be used afterwards.
I've sent a patch for that (1), but it's not yet accepted :)

[1] https://lists.openvz.org/pipermail/criu/2016-August/030991.html

> >
> >> Please ask to send the full logs if needed.
> >>
> >> Last, inside zdtm.py I need to force kill image-cache and image-proxy before continuing
> >> to the next test.
> >> I have used "killall -9 criu" as at that point only these criu processes can be
> >> childs of the python script. However it's bad practice, so feel free to propose
> >> another way to get rid of the two processes.
> >>
> >> Regards,
> >> Katerina
> >>
> >>
> >> Katerina Koukiou (4):
> >>   mem: implement image proxy/image cache
> >>   mem: Introduce image-proxy/image-cache & remote option
> >>   test: Add testcases for image-proxy/image-cache
> >>   zdtm: Add testing for --remote option
> >>
> >>  criu/Makefile.crtools           |   4 +
> >>  criu/cr-dump.c                  |  17 +
> >>  criu/crtools.c                  |  30 +-
> >>  criu/image-desc.c               |   4 +-
> >>  criu/image.c                    |  28 +-
> >>  criu/img-cache.c                | 170 ++++++++++
> >>  criu/img-proxy.c                | 119 +++++++
> >>  criu/img-remote-proto.c         | 697 ++++++++++++++++++++++++++++++++++++++++
> >>  criu/img-remote.c               | 278 ++++++++++++++++
> >>  criu/include/cr_options.h       |   3 +
> >>  criu/include/image.h            |   1 +
> >>  criu/include/img-remote-proto.h |  84 +++++
> >>  criu/include/img-remote.h       |  79 +++++
> >>  criu/include/protobuf-desc.h    |   4 +
> >>  criu/page-xfer.c                |  26 +-
> >>  criu/pagemap.c                  |  53 ++-
> >>  criu/protobuf-desc.c            |   1 +
> >>  images/Makefile                 |   1 +
> >>  images/remote-image.proto       |  20 ++
> >>  test/proxy-cache/Makefile       |  29 ++
> >>  test/proxy-cache/loop.sh        |   8 +
> >>  test/proxy-cache/run.sh         | 106 ++++++
> >>  test/zdtm.py                    |  36 ++-
> >>  23 files changed, 1773 insertions(+), 25 deletions(-)
> >>  create mode 100644 criu/img-cache.c
> >>  create mode 100644 criu/img-proxy.c
> >>  create mode 100644 criu/img-remote-proto.c
> >>  create mode 100644 criu/img-remote.c
> >>  create mode 100644 criu/include/img-remote-proto.h
> >>  create mode 100644 criu/include/img-remote.h
> >>  create mode 100644 images/remote-image.proto
> >>  create mode 100644 test/proxy-cache/Makefile
> >>  create mode 100755 test/proxy-cache/loop.sh
> >>  create mode 100755 test/proxy-cache/run.sh
> >>
> >> --
> >> 2.7.3
> >>
> >> _______________________________________________
> >> CRIU mailing list
> >> CRIU at openvz.org
> >> https://lists.openvz.org/mailman/listinfo/criu
> >>
> >
> 



More information about the CRIU mailing list