-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/31444/
-----------------------------------------------------------
(Updated April 6, 2015, 11:02 a.m.)
Review request for mesos, Chi Zhang, Dominic Hamon, Jay Buffington, Jie Yu, and
James Peach.
Changes
-------
Moved code out of the launch helper and into linux/fs.
Support chrooting on non Linux platforms using just POSIX chroot.
Removed some of the implementation specific checks (they'll be done by the
caller).
Manual testing of just the mesos-containerizer helper binary can be done with:
{noformat}
[idownes:hostname build]$ 3</dev/zero 4>/dev/null
./src/.libs/mesos-containerizer launch --pipe_read=3 --pipe_write=4
--directory=XXX --command=file:///path/to/commandinfo.json
--rootfs=/path/to/a/chroot
{noformat}
Manually tested with basic Linux and OSX chroots. Proper tests will follow.
Bugs: MESOS-2350
https://issues.apache.org/jira/browse/MESOS-2350
Repository: mesos
Description
-------
Optionally take a path that the launch helper should chroot to before exec'ing
the executor. It is assumed that the work directory is mounted to the
appropriate location under the chroot. In particular, the path to the executor
must be relative to the chroot.
Configuration that should be private to the chroot is done during the launch,
e.g. mounting proc and statically configuring basic devices. It is assumed that
other configuration, e.g., preparing the image, mounting in volumes or
persistent resources, is done by the caller.
Mounts can be made to the chroot (e.g., updating the volumes or persistent
resources) and they will propagate in to the container but mounts made inside
the container will not propagate out to the host.
It currently assumes that at least {{chroot}}/tmp is writeable and that mount
points {{chroot}}/{tmp,dev,proc,sys} exist in the chroot.
This is specific to Linux.
Diffs (updated)
-----
src/slave/containerizer/mesos/launch.hpp
7c8b535746b5ce9add00afef86fdb6faefb5620e
src/slave/containerizer/mesos/launch.cpp
2f2d60e2011f60ec711d3b29fd2c157e30c83c34
Diff: https://reviews.apache.org/r/31444/diff/
Testing
-------
Manual testing only so far. This is harder to automate because we need a
self-contained chroot to execute something in... Suggestions welcome.
Thanks,
Ian Downes