You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/08/14 18:37:04 UTC
mesos git commit: Consolidated two containerizer::launch methods into
one.
Repository: mesos
Updated Branches:
refs/heads/master 7a1640ad5 -> 7657b5de2
Consolidated two containerizer::launch methods into one.
Review: https://reviews.apache.org/r/51074/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/7657b5de
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/7657b5de
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/7657b5de
Branch: refs/heads/master
Commit: 7657b5de2b2ceee0c0ac3798a429281bb24941c7
Parents: 7a1640a
Author: Gilbert Song <so...@gmail.com>
Authored: Sun Aug 14 11:36:57 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Sun Aug 14 11:36:57 2016 -0700
----------------------------------------------------------------------
src/slave/containerizer/composing.cpp | 136 ++++---------------
src/slave/containerizer/composing.hpp | 11 +-
src/slave/containerizer/containerizer.hpp | 22 +--
src/slave/containerizer/docker.cpp | 25 +---
src/slave/containerizer/docker.hpp | 11 +-
src/slave/containerizer/mesos/containerizer.cpp | 24 +---
src/slave/containerizer/mesos/containerizer.hpp | 11 +-
src/slave/slave.cpp | 1 +
src/tests/containerizer.cpp | 24 +---
src/tests/containerizer.hpp | 14 +-
.../composing_containerizer_tests.cpp | 13 +-
.../docker_containerizer_tests.cpp | 18 +--
.../containerizer/filesystem_isolator_tests.cpp | 14 ++
src/tests/containerizer/isolator_tests.cpp | 1 +
.../containerizer/mesos_containerizer_tests.cpp | 5 +
src/tests/hook_tests.cpp | 1 +
src/tests/mesos.hpp | 37 +----
src/tests/slave_recovery_tests.cpp | 2 +-
src/tests/slave_tests.cpp | 2 +-
19 files changed, 75 insertions(+), 297 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/containerizer/composing.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/composing.cpp b/src/slave/containerizer/composing.cpp
index 36d8917..532b62c 100644
--- a/src/slave/containerizer/composing.cpp
+++ b/src/slave/containerizer/composing.cpp
@@ -59,16 +59,7 @@ public:
Future<bool> launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const string& directory,
- const Option<string>& user,
- const SlaveID& slaveId,
- const PID<Slave>& slavePid,
- bool checkpoint);
-
- Future<bool> launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const string& directory,
const Option<string>& user,
@@ -166,28 +157,7 @@ Future<Nothing> ComposingContainerizer::recover(
Future<bool> ComposingContainerizer::launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const string& directory,
- const Option<string>& user,
- const SlaveID& slaveId,
- const PID<Slave>& slavePid,
- bool checkpoint)
-{
- return dispatch(process,
- &ComposingContainerizerProcess::launch,
- containerId,
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint);
-}
-
-
-Future<bool> ComposingContainerizer::launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const string& directory,
const Option<string>& user,
@@ -316,52 +286,6 @@ Future<Nothing> ComposingContainerizerProcess::___recover()
}
-Future<bool> ComposingContainerizerProcess::launch(
- const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const string& directory,
- const Option<string>& user,
- const SlaveID& slaveId,
- const PID<Slave>& slavePid,
- bool checkpoint)
-{
- if (containers_.contains(containerId)) {
- return Failure("Container '" + containerId.value() +
- "' is already launching");
- }
-
- // Try each containerizer. If none of them handle the
- // TaskInfo/ExecutorInfo then return a Failure.
- vector<Containerizer*>::iterator containerizer = containerizers_.begin();
-
- Container* container = new Container();
- container->state = LAUNCHING;
- container->containerizer = *containerizer;
- containers_[containerId] = container;
-
- return (*containerizer)->launch(
- containerId,
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint)
- .then(defer(self(),
- &Self::_launch,
- containerId,
- None(),
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint,
- containerizer,
- lambda::_1));
-}
-
-
Future<bool> ComposingContainerizerProcess::_launch(
const ContainerID& containerId,
const Option<TaskInfo>& taskInfo,
@@ -401,44 +325,34 @@ Future<bool> ComposingContainerizerProcess::_launch(
container->containerizer = *containerizer;
- Future<bool> f = taskInfo.isSome() ?
- (*containerizer)->launch(
- containerId,
- taskInfo.get(),
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint) :
- (*containerizer)->launch(
- containerId,
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint);
-
- return f.then(
- defer(self(),
- &Self::_launch,
- containerId,
- taskInfo,
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint,
- containerizer,
- lambda::_1));
+ return (*containerizer)->launch(
+ containerId,
+ taskInfo,
+ executorInfo,
+ directory,
+ user,
+ slaveId,
+ slavePid,
+ checkpoint)
+ .then(defer(
+ self(),
+ &Self::_launch,
+ containerId,
+ taskInfo,
+ executorInfo,
+ directory,
+ user,
+ slaveId,
+ slavePid,
+ checkpoint,
+ containerizer,
+ lambda::_1));
}
Future<bool> ComposingContainerizerProcess::launch(
const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const string& directory,
const Option<string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/containerizer/composing.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/composing.hpp b/src/slave/containerizer/composing.hpp
index f3eebd1..492f1c1 100644
--- a/src/slave/containerizer/composing.hpp
+++ b/src/slave/containerizer/composing.hpp
@@ -56,16 +56,7 @@ public:
virtual process::Future<bool> launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const std::string& directory,
- const Option<std::string>& user,
- const SlaveID& slaveId,
- const process::PID<Slave>& slavePid,
- bool checkpoint);
-
- virtual process::Future<bool> launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const std::string& directory,
const Option<std::string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/containerizer/containerizer.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/containerizer.hpp b/src/slave/containerizer/containerizer.hpp
index b108d68..d005375 100644
--- a/src/slave/containerizer/containerizer.hpp
+++ b/src/slave/containerizer/containerizer.hpp
@@ -77,26 +77,12 @@ public:
virtual process::Future<Nothing> recover(
const Option<state::SlaveState>& state) = 0;
- // Launch a containerized executor. Returns true if launching this
- // ExecutorInfo is supported and it has been launched, otherwise
- // false or a failure is something went wrong.
+ // Launch a containerized task/executor. Returns true if launching
+ // this TaskInfo/ExecutorInfo is supported and it has been launched,
+ // otherwise false or a failure if something went wrong.
virtual process::Future<bool> launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const std::string& directory,
- const Option<std::string>& user,
- const SlaveID& slaveId,
- const process::PID<Slave>& slavePid,
- bool checkpoint) = 0;
-
- // Launch a containerized task. Returns true if launching this
- // TaskInfo/ExecutorInfo is supported and it has been launched,
- // otherwise false or a failure is something went wrong.
- // TODO(nnielsen): Obsolete the executorInfo argument when the slave
- // doesn't require executors to run standalone tasks.
- virtual process::Future<bool> launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const std::string& directory,
const Option<std::string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/containerizer/docker.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/docker.cpp b/src/slave/containerizer/docker.cpp
index 12bad2d..5c1ee8e 100644
--- a/src/slave/containerizer/docker.cpp
+++ b/src/slave/containerizer/docker.cpp
@@ -676,30 +676,7 @@ Future<Nothing> DockerContainerizer::recover(
Future<bool> DockerContainerizer::launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const string& directory,
- const Option<string>& user,
- const SlaveID& slaveId,
- const PID<Slave>& slavePid,
- bool checkpoint)
-{
- return dispatch(
- process.get(),
- &DockerContainerizerProcess::launch,
- containerId,
- None(),
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint);
-}
-
-
-Future<bool> DockerContainerizer::launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const string& directory,
const Option<string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/containerizer/docker.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/docker.hpp b/src/slave/containerizer/docker.hpp
index 43ca431..f2a0606 100644
--- a/src/slave/containerizer/docker.hpp
+++ b/src/slave/containerizer/docker.hpp
@@ -81,16 +81,7 @@ public:
virtual process::Future<bool> launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const std::string& directory,
- const Option<std::string>& user,
- const SlaveID& slaveId,
- const process::PID<Slave>& slavePid,
- bool checkpoint);
-
- virtual process::Future<bool> launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const std::string& directory,
const Option<std::string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/containerizer/mesos/containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp
index 86a8d8a..5ed894d 100644
--- a/src/slave/containerizer/mesos/containerizer.cpp
+++ b/src/slave/containerizer/mesos/containerizer.cpp
@@ -425,29 +425,7 @@ Future<Nothing> MesosContainerizer::recover(
Future<bool> MesosContainerizer::launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const string& directory,
- const Option<string>& user,
- const SlaveID& slaveId,
- const PID<Slave>& slavePid,
- bool checkpoint)
-{
- return dispatch(process.get(),
- &MesosContainerizerProcess::launch,
- containerId,
- None(),
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint);
-}
-
-
-Future<bool> MesosContainerizer::launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const string& directory,
const Option<string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/containerizer/mesos/containerizer.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.hpp b/src/slave/containerizer/mesos/containerizer.hpp
index 6585356..5a43dac 100644
--- a/src/slave/containerizer/mesos/containerizer.hpp
+++ b/src/slave/containerizer/mesos/containerizer.hpp
@@ -76,16 +76,7 @@ public:
virtual process::Future<bool> launch(
const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const std::string& directory,
- const Option<std::string>& user,
- const SlaveID& slaveId,
- const process::PID<Slave>& slavePid,
- bool checkpoint);
-
- virtual process::Future<bool> launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const std::string& directory,
const Option<std::string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/slave/slave.cpp
----------------------------------------------------------------------
diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp
index 29ca07a..25493cb 100644
--- a/src/slave/slave.cpp
+++ b/src/slave/slave.cpp
@@ -5803,6 +5803,7 @@ Executor* Framework::launchExecutor(
// when it has registered to the slave.
launch = slave->containerizer->launch(
containerId,
+ None(),
executorInfo_, // Modified to include the task's resources, see above.
executor->directory,
user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer.cpp b/src/tests/containerizer.cpp
index 6f3950d..28087cd 100644
--- a/src/tests/containerizer.cpp
+++ b/src/tests/containerizer.cpp
@@ -90,6 +90,7 @@ TestContainerizer::~TestContainerizer()
Future<bool> TestContainerizer::_launch(
const ContainerID& containerId,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const string& directory,
const Option<string>& user,
@@ -200,27 +201,6 @@ Future<bool> TestContainerizer::_launch(
}
-Future<bool> TestContainerizer::launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
- const ExecutorInfo& executorInfo,
- const string& directory,
- const Option<string>& user,
- const SlaveID& slaveId,
- const PID<slave::Slave>& slavePid,
- bool checkpoint)
-{
- return launch(
- containerId,
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint);
-}
-
-
Future<containerizer::Termination> TestContainerizer::_wait(
const ContainerID& containerId)
{
@@ -303,7 +283,7 @@ void TestContainerizer::setup()
EXPECT_CALL(*this, update(_, _))
.WillRepeatedly(Return(Nothing()));
- EXPECT_CALL(*this, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(*this, launch(_, _, _, _, _, _, _, _))
.WillRepeatedly(Invoke(this, &TestContainerizer::_launch));
EXPECT_CALL(*this, wait(_))
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/containerizer.hpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer.hpp b/src/tests/containerizer.hpp
index 76feedf..6436b52 100644
--- a/src/tests/containerizer.hpp
+++ b/src/tests/containerizer.hpp
@@ -77,10 +77,11 @@ public:
recover,
process::Future<Nothing>(const Option<slave::state::SlaveState>&));
- MOCK_METHOD7(
+ MOCK_METHOD8(
launch,
process::Future<bool>(
const ContainerID&,
+ const Option<TaskInfo>&,
const ExecutorInfo&,
const std::string&,
const Option<std::string>&,
@@ -88,16 +89,6 @@ public:
const process::PID<slave::Slave>&,
bool checkpoint));
- virtual process::Future<bool> launch(
- const ContainerID& containerId,
- const TaskInfo& taskInfo,
- const ExecutorInfo& executorInfo,
- const std::string& directory,
- const Option<std::string>& user,
- const SlaveID& slaveId,
- const process::PID<slave::Slave>& slavePid,
- bool checkpoint);
-
MOCK_METHOD2(
update,
process::Future<Nothing>(const ContainerID&, const Resources&));
@@ -128,6 +119,7 @@ private:
// Default implementations of mock methods.
process::Future<bool> _launch(
const ContainerID& containerId,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const std::string& directory,
const Option<std::string>& user,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/containerizer/composing_containerizer_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/composing_containerizer_tests.cpp b/src/tests/containerizer/composing_containerizer_tests.cpp
index e7619c1..24d458d 100644
--- a/src/tests/containerizer/composing_containerizer_tests.cpp
+++ b/src/tests/containerizer/composing_containerizer_tests.cpp
@@ -56,22 +56,11 @@ public:
process::Future<Nothing>(
const Option<slave::state::SlaveState>&));
- MOCK_METHOD7(
- launch,
- process::Future<bool>(
- const ContainerID&,
- const ExecutorInfo&,
- const std::string&,
- const Option<std::string>&,
- const SlaveID&,
- const process::PID<Slave>&,
- bool));
-
MOCK_METHOD8(
launch,
process::Future<bool>(
const ContainerID&,
- const TaskInfo&,
+ const Option<TaskInfo>&,
const ExecutorInfo&,
const std::string&,
const Option<std::string>&,
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/containerizer/docker_containerizer_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/docker_containerizer_tests.cpp b/src/tests/containerizer/docker_containerizer_tests.cpp
index 66adeec..42d4364 100644
--- a/src/tests/containerizer/docker_containerizer_tests.cpp
+++ b/src/tests/containerizer/docker_containerizer_tests.cpp
@@ -251,10 +251,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
task.mutable_executor()->CopyFrom(executorInfo);
Future<ContainerID> containerId;
- EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
Invoke(&dockerContainerizer,
- &MockDockerContainerizer::_launchExecutor)));
+ &MockDockerContainerizer::_launch)));
Future<TaskStatus> statusRunning;
Future<TaskStatus> statusFinished;
@@ -379,10 +379,10 @@ TEST_F(DockerContainerizerTest, DISABLED_ROOT_DOCKER_Launch_Executor_Bridged)
task.mutable_executor()->CopyFrom(executorInfo);
Future<ContainerID> containerId;
- EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
Invoke(&dockerContainerizer,
- &MockDockerContainerizer::_launchExecutor)));
+ &MockDockerContainerizer::_launch)));
Future<TaskStatus> statusRunning;
Future<TaskStatus> statusFinished;
@@ -2721,11 +2721,11 @@ TEST_F(DockerContainerizerTest,
Future<ContainerID> containerId;
Future<SlaveID> slaveId;
- EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
- FutureArg<4>(&slaveId),
+ FutureArg<5>(&slaveId),
Invoke(dockerContainerizer.get(),
- &MockDockerContainerizer::_launchExecutor)));
+ &MockDockerContainerizer::_launch)));
// We need to wait until the container's pid has been been
// checkpointed so that when the next slave recovers it won't treat
@@ -3736,10 +3736,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
.WillOnce(FutureArg<1>(&statusFailed));
Future<ContainerID> containerId;
- EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
Invoke(&dockerContainerizer,
- &MockDockerContainerizer::_launchExecutor)));
+ &MockDockerContainerizer::_launch)));
driver.launchTasks(offers.get()[0].id(), {task});
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/containerizer/filesystem_isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/filesystem_isolator_tests.cpp b/src/tests/containerizer/filesystem_isolator_tests.cpp
index 4d852ad..3e812ec 100644
--- a/src/tests/containerizer/filesystem_isolator_tests.cpp
+++ b/src/tests/containerizer/filesystem_isolator_tests.cpp
@@ -257,6 +257,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystem)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -768,6 +769,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_Metrics)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -829,6 +831,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_VolumeFromSandbox)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -883,6 +886,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_VolumeFromHost)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -938,6 +942,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_FileVolumeFromHost)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -987,6 +992,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_VolumeFromHostSandboxMountPoint)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -1042,6 +1048,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_FileVolumeFromHostSandboxMountPoint)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -1106,6 +1113,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_PersistentVolumeWithRootFilesystem)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -1179,6 +1187,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_PersistentVolumeWithoutRootFilesystem)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -1233,6 +1242,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ImageInVolumeWithoutRootFilesystem)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -1287,6 +1297,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ImageInVolumeWithRootFilesystem)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
@@ -1371,6 +1382,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_MultipleContainers)
Future<bool> launch1 = containerizer.get()->launch(
containerId1,
+ None(),
executor1,
directory1,
None(),
@@ -1399,6 +1411,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_MultipleContainers)
Future<bool> launch2 = containerizer.get()->launch(
containerId2,
+ None(),
executor2,
directory2,
None(),
@@ -1464,6 +1477,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_SandboxEnvironmentVariable)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
executor,
directory,
None(),
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/containerizer/isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/isolator_tests.cpp b/src/tests/containerizer/isolator_tests.cpp
index 4f047ae..f917db7 100644
--- a/src/tests/containerizer/isolator_tests.cpp
+++ b/src/tests/containerizer/isolator_tests.cpp
@@ -1523,6 +1523,7 @@ TEST_F(NamespacesPidIsolatorTest, ROOT_PidNamespace)
process::Future<bool> launch = containerizer->launch(
containerId,
+ None(),
CREATE_EXECUTOR_INFO("executor", command),
directory,
None(),
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/containerizer/mesos_containerizer_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/mesos_containerizer_tests.cpp b/src/tests/containerizer/mesos_containerizer_tests.cpp
index e3c8daa..a01492d 100644
--- a/src/tests/containerizer/mesos_containerizer_tests.cpp
+++ b/src/tests/containerizer/mesos_containerizer_tests.cpp
@@ -179,6 +179,7 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, ScriptSucceeds)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
CREATE_EXECUTOR_INFO("executor", "exit 0"),
directory,
None(),
@@ -230,6 +231,7 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, ScriptFails)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
CREATE_EXECUTOR_INFO("executor", "exit 0"),
directory,
None(),
@@ -292,6 +294,7 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, MultipleScripts)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
CREATE_EXECUTOR_INFO("executor", "exit 0"),
directory,
None(),
@@ -360,6 +363,7 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, ExecutorEnvironmentVariable)
Future<bool> launch = containerizer.get()->launch(
containerId,
+ None(),
CREATE_EXECUTOR_INFO("executor", executorCmd),
directory,
None(),
@@ -429,6 +433,7 @@ TEST_F(MesosContainerizerExecuteTest, IoRedirection)
Future<bool> launch = containerizer->launch(
containerId,
+ None(),
CREATE_EXECUTOR_INFO("executor", command),
directory,
None(),
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/hook_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/hook_tests.cpp b/src/tests/hook_tests.cpp
index a1c8685..5e0c487 100644
--- a/src/tests/hook_tests.cpp
+++ b/src/tests/hook_tests.cpp
@@ -297,6 +297,7 @@ TEST_F(HookTest, VerifySlaveExecutorEnvironmentDecorator)
// command validates the hook.
process::Future<bool> launch = containerizer->launch(
containerId,
+ None(),
CREATE_EXECUTOR_INFO("executor", "test $FOO = 'bar'"),
directory,
None(),
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/mesos.hpp
----------------------------------------------------------------------
diff --git a/src/tests/mesos.hpp b/src/tests/mesos.hpp
index 59688dc..ad31276 100644
--- a/src/tests/mesos.hpp
+++ b/src/tests/mesos.hpp
@@ -1606,9 +1606,6 @@ public:
// NOTE: See TestContainerizer::setup for why we use
// 'EXPECT_CALL' and 'WillRepeatedly' here instead of
// 'ON_CALL' and 'WillByDefault'.
- EXPECT_CALL(*this, launch(_, _, _, _, _, _, _))
- .WillRepeatedly(Invoke(this, &MockDockerContainerizer::_launchExecutor));
-
EXPECT_CALL(*this, launch(_, _, _, _, _, _, _, _))
.WillRepeatedly(Invoke(this, &MockDockerContainerizer::_launch));
@@ -1616,22 +1613,11 @@ public:
.WillRepeatedly(Invoke(this, &MockDockerContainerizer::_update));
}
- MOCK_METHOD7(
- launch,
- process::Future<bool>(
- const ContainerID&,
- const ExecutorInfo&,
- const std::string&,
- const Option<std::string>&,
- const SlaveID&,
- const process::PID<slave::Slave>&,
- bool checkpoint));
-
MOCK_METHOD8(
launch,
process::Future<bool>(
const ContainerID&,
- const TaskInfo&,
+ const Option<TaskInfo>&,
const ExecutorInfo&,
const std::string&,
const Option<std::string>&,
@@ -1649,7 +1635,7 @@ public:
// use &slave::DockerContainerizer::launch with 'Invoke').
process::Future<bool> _launch(
const ContainerID& containerId,
- const TaskInfo& taskInfo,
+ const Option<TaskInfo>& taskInfo,
const ExecutorInfo& executorInfo,
const std::string& directory,
const Option<std::string>& user,
@@ -1668,25 +1654,6 @@ public:
checkpoint);
}
- process::Future<bool> _launchExecutor(
- const ContainerID& containerId,
- const ExecutorInfo& executorInfo,
- const std::string& directory,
- const Option<std::string>& user,
- const SlaveID& slaveId,
- const slave::PID<slave::Slave>& slavePid,
- bool checkpoint)
- {
- return slave::DockerContainerizer::launch(
- containerId,
- executorInfo,
- directory,
- user,
- slaveId,
- slavePid,
- checkpoint);
- }
-
process::Future<Nothing> _update(
const ContainerID& containerId,
const Resources& resources)
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/slave_recovery_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/slave_recovery_tests.cpp b/src/tests/slave_recovery_tests.cpp
index 59859f5..b6d4ae5 100644
--- a/src/tests/slave_recovery_tests.cpp
+++ b/src/tests/slave_recovery_tests.cpp
@@ -3865,7 +3865,7 @@ TYPED_TEST(SlaveRecoveryTest, RestartBeforeContainerizerLaunch)
// Expect the launch but don't do anything.
Future<Nothing> launch;
- EXPECT_CALL(containerizer1, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(containerizer1, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureSatisfy(&launch),
Return(Future<bool>())));
http://git-wip-us.apache.org/repos/asf/mesos/blob/7657b5de/src/tests/slave_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/slave_tests.cpp b/src/tests/slave_tests.cpp
index 787ec5b..04fab1e 100644
--- a/src/tests/slave_tests.cpp
+++ b/src/tests/slave_tests.cpp
@@ -1136,7 +1136,7 @@ TEST_F(SlaveTest, MetricsSlaveLaunchErrors)
JSON::Object snapshot = Metrics();
EXPECT_EQ(0, snapshot.values["slave/container_launch_errors"]);
- EXPECT_CALL(containerizer, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(containerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(Return(Failure("Injected failure")));
Future<TaskStatus> failureUpdate;