-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28830/
-----------------------------------------------------------
(Updated Dec. 28, 2014, 7:41 a.m.)
Review request for mesos and Benjamin Hindman.
Changes
-------
Rewrote much of the patch with a design pattern that more closely matches other
slave constituents. This provides better life cycle control over the fetcher
and its subprocesses. In the course of this, fixed a related TODO: left-over
fetcher subprocesses after slave shutdown. Unfortunately, no matter how we
approach this, there has to be a lot of change fallout in existing tests, as
you can see in the diff view.
Tested with "make check" on Mac and "sudo make check" on Linux. The same
seemingly unrelated tests failed as before, except all docker tests ran this
time.
Bugs: MESOS-2172
https://issues.apache.org/jira/browse/MESOS-2172
Repository: mesos-git
Description
-------
Layed the groundwork for having a fetcher object with a cache dir per slave.
Factored all fetcher-relevant code into a fetcher class and process. Added a
fetcher parameter to a lot of methods related to launching tasks, mostly in
containerizers. The latter are thus not holders of fetchers, only slaves are.
Diffs (updated)
-----
src/local/local.cpp 89fed0bccd8b886ef894ca0daf0716220799e33b
src/slave/containerizer/containerizer.hpp
02754cd5b4499d5809c80985100d11d2663dcc44
src/slave/containerizer/containerizer.cpp
1448bea141412c7d0eedc24c3e0b10014eea16ec
src/slave/containerizer/docker.hpp 28ebc6272cd68167fc9a0898fd8eb9d53890b815
src/slave/containerizer/docker.cpp 19a6ea2b5342abe4bf10cf4ea2d5d756df9f8665
src/slave/containerizer/fetcher.hpp 12b81b1065b6b0a0368ebd44326c75c1d4e4ba79
src/slave/containerizer/fetcher.cpp d702a9ccc15b21ba26fb9356aa69da15dfd5973e
src/slave/containerizer/mesos/containerizer.hpp
0b635d445f6cc5c188670ddadab98d4154fc5d2b
src/slave/containerizer/mesos/containerizer.cpp
d70259b10abdf995229ceba66ec9b58cf111e056
src/slave/main.cpp 087944aab56685b53772491de39b373ecacd6c57
src/tests/cluster.hpp fa5eeef507be6b99cc79032eb9b22e4a4314f533
src/tests/containerizer_tests.cpp 02a5f15ff970b475df2fe5e48f2aee42eeefe18e
src/tests/docker_containerizer_tests.cpp
bed2d1005647d62b3ec013315b883d33990b896e
src/tests/fetcher_tests.cpp 9e48392d31c886bad60abc8999fe293f55f589b0
src/tests/health_check_tests.cpp ae1dcdfcf9d39840fc7032d91f3fc515e76c54d7
src/tests/isolator_tests.cpp 01c0239553011c68fecaeeeb1d87fc097509a136
src/tests/slave_recovery_tests.cpp 8bd0f145ff52d91cc0ad194e8676fb105aba2792
src/tests/slave_tests.cpp f2896a1fc4521452e29fd261a6f117372345dcfc
Diff: https://reviews.apache.org/r/28830/diff/
Testing
-------
make check on MacOS X 10.10 and Ubuntu 13.10.
Some of these tests fail on Linux when running "make check" as root, but not
always the same ones and they all seme unrelated:
[ FAILED ] DockerContainerizerTest.ROOT_DOCKER_Default_CMD_Override
[ FAILED ] DockerContainerizerTest.ROOT_DOCKER_Default_CMD_Args
[ FAILED ] ContainerizerTest.ROOT_CGROUPS_BalloonFramework
[ FAILED ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Tasks
[ FAILED ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Read
[ FAILED ] UserCgroupIsolatorTest/0.ROOT_CGROUPS_UserCgroup, where TypeParam
= mesos::internal::slave::CgroupsMemIsolatorProcess
[ FAILED ] UserCgroupIsolatorTest/1.ROOT_CGROUPS_UserCgroup, where TypeParam
= mesos::internal::slave::CgroupsCpushareIsolatorProcess
[ FAILED ] UserCgroupIsolatorTest/2.ROOT_CGROUPS_UserCgroup, where TypeParam
= mesos::internal::slave::CgroupsPerfEventIsolatorProcess
[ FAILED ] ContainerizerTest.ROOT_CGROUPS_BalloonFramework
[ FAILED ] NsTest.ROOT_setns
[ FAILED ] PerfTest.ROOT_SampleInit
Thanks,
Bernd Mathiske