You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jp...@apache.org on 2018/04/16 21:07:57 UTC
[1/2] mesos git commit: Adopted `createTask` helper API in Docker
containerizer tests.
Repository: mesos
Updated Branches:
refs/heads/master 95fc99fdf -> fd7889a34
Adopted `createTask` helper API in Docker containerizer tests.
The Docker containerizer tests were manually creating the `TaskInfo`
for the tasks they wanted to launch. We can remove some of that
boilerplate by adopting the `createTask` helper.
Review: https://reviews.apache.org/r/66615/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/5f74c05b
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/5f74c05b
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/5f74c05b
Branch: refs/heads/master
Commit: 5f74c05b866c2fdfd24ecc4e3b99bd5bcf0676df
Parents: 95fc99f
Author: James Peach <jp...@apache.org>
Authored: Mon Apr 16 13:42:00 2018 -0700
Committer: James Peach <jp...@apache.org>
Committed: Mon Apr 16 13:42:00 2018 -0700
----------------------------------------------------------------------
.../docker_containerizer_tests.cpp | 449 ++++++-------------
src/tests/mesos.hpp | 2 +
2 files changed, 144 insertions(+), 307 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/5f74c05b/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 847258d..902a247 100644
--- a/src/tests/containerizer/docker_containerizer_tests.cpp
+++ b/src/tests/containerizer/docker_containerizer_tests.cpp
@@ -237,22 +237,17 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- ExecutorInfo executorInfo;
ExecutorID executorId;
executorId.set_value("e1");
- executorInfo.mutable_executor_id()->CopyFrom(executorId);
CommandInfo command;
command.set_value("/bin/test-executor");
- executorInfo.mutable_command()->CopyFrom(command);
+
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command,
+ executorId);
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -262,9 +257,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
dockerInfo.set_image("tnachen/test-executor");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- executorInfo.mutable_container()->CopyFrom(containerInfo);
- task.mutable_executor()->CopyFrom(executorInfo);
+ task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -363,22 +357,17 @@ TEST_F(DockerContainerizerTest, DISABLED_ROOT_DOCKER_Launch_Executor_Bridged)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- ExecutorInfo executorInfo;
ExecutorID executorId;
executorId.set_value("e1");
- executorInfo.mutable_executor_id()->CopyFrom(executorId);
CommandInfo command;
command.set_value("/bin/test-executor");
- executorInfo.mutable_command()->CopyFrom(command);
+
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command,
+ executorId);
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -389,9 +378,8 @@ TEST_F(DockerContainerizerTest, DISABLED_ROOT_DOCKER_Launch_Executor_Bridged)
dockerInfo.set_network(ContainerInfo::DockerInfo::BRIDGE);
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- executorInfo.mutable_container()->CopyFrom(containerInfo);
- task.mutable_executor()->CopyFrom(executorInfo);
+ task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -481,16 +469,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -500,7 +482,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -635,16 +616,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -654,7 +629,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -767,16 +741,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_TaskKillingCapability)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -786,7 +754,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_TaskKillingCapability)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -892,18 +859,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
CommandInfo command;
// Run a CPU intensive command, so we can measure utime and stime later.
command.set_value("dd if=/dev/zero of=/dev/null");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -912,7 +876,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -1042,16 +1005,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -1061,7 +1018,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -1631,8 +1587,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
Resource volume = createPersistentVolume(
Megabytes(64),
"role1",
@@ -1642,17 +1596,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
None(),
frameworkInfo.principal());
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(
- Resources::parse("cpus:1;mem:64").get() + volume);
-
CommandInfo command;
command.set_value("echo abc > " +
path::join(flags.sandbox_directory, "path1", "file"));
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ Resources::parse("cpus:1;mem:64").get() + volume,
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -1661,7 +1613,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
// We use the filter explicitly here so that the resources will not
@@ -1687,7 +1638,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
.WillRepeatedly(DoDefault());
driver.acceptOffers(
- {offer.id()},
+ {offers->front().id()},
{CREATE(volume), LAUNCH({task})},
filters);
@@ -1797,8 +1748,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
Resource volume = createPersistentVolume(
Megabytes(64),
"role1",
@@ -1808,15 +1757,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
None(),
frameworkInfo.principal());
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(
- Resources::parse("cpus:1;mem:64").get() + volume);
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ Resources::parse("cpus:1;mem:64").get() + volume,
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -1826,7 +1770,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -1845,7 +1788,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
.WillRepeatedly(DoDefault());
driver.acceptOffers(
- {offer.id()},
+ {offers->front().id()},
{CREATE(volume), LAUNCH({task})},
filters);
@@ -1965,8 +1908,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
Resource volume = createPersistentVolume(
Megabytes(64),
"role1",
@@ -1976,15 +1917,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
None(),
frameworkInfo.principal());
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(
- Resources::parse("cpus:1;mem:64").get() + volume);
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ Resources::parse("cpus:1;mem:64").get() + volume,
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -1994,7 +1930,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -2013,7 +1948,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
.WillRepeatedly(DoDefault());
driver.acceptOffers(
- {offer.id()},
+ {offers->front().id()},
{CREATE(volume), LAUNCH({task})},
filters);
@@ -2035,7 +1970,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
ASSERT_SOME(
os::rmdir(getFrameworkPath(
getMetaRootDir(flags.work_dir),
- offer.slave_id(),
+ offers->front().slave_id(),
frameworkId.get())));
logger = ContainerLogger::create(flags.container_logger);
@@ -2133,14 +2068,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
string uuid = id::UUID::random().toString();
// NOTE: We prefix `echo` with `unbuffer` so that we can immediately
@@ -2152,6 +2079,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
"unbuffer echo out" + uuid + " ; "
"unbuffer echo err" + uuid + " 1>&2");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -2162,7 +2094,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
dockerInfo.set_image("mesosphere/alpine-expect");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -2277,14 +2208,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
CommandInfo command;
command.set_shell(false);
@@ -2292,6 +2215,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
// will still be able to run the container because it has a default
// entrypoint!
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -2300,7 +2228,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
dockerInfo.set_image("mesosphere/inky");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -2414,14 +2341,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
string uuid = id::UUID::random().toString();
CommandInfo command;
@@ -2431,6 +2350,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
// passed as an argument to the entrypoint, i.e., 'echo uuid'.
command.set_value(uuid);
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -2439,7 +2363,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
dockerInfo.set_image("mesosphere/inky");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -2556,14 +2479,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
string uuid = id::UUID::random().toString();
CommandInfo command;
@@ -2574,6 +2489,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
// entrypoint!
command.add_arguments(uuid);
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -2582,7 +2502,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
dockerInfo.set_image("mesosphere/inky");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -2700,16 +2619,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -2719,7 +2632,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -2875,22 +2787,17 @@ TEST_F(DockerContainerizerTest,
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- ExecutorInfo executorInfo;
ExecutorID executorId;
executorId.set_value("e1");
- executorInfo.mutable_executor_id()->CopyFrom(executorId);
CommandInfo command;
command.set_value("test-executor");
- executorInfo.mutable_command()->CopyFrom(command);
+
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command,
+ executorId);
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -2900,9 +2807,7 @@ TEST_F(DockerContainerizerTest,
dockerInfo.set_image("mesosphere/test-executor");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- executorInfo.mutable_container()->CopyFrom(containerInfo);
-
- task.mutable_executor()->CopyFrom(executorInfo);
+ task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _))
@@ -3046,14 +2951,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
CommandInfo command;
command.set_shell(false);
command.set_value("nc");
@@ -3061,6 +2958,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
command.add_arguments("-p");
command.add_arguments("1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3076,7 +2978,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
dockerInfo.add_port_mappings()->CopyFrom(portMapping);
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -3200,16 +3101,13 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("test:colon");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ // Create a sleep task whose name is "test:colon".
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000),
+ None(),
+ "test:colon");
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3219,7 +3117,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -3321,16 +3218,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3340,7 +3231,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<TaskStatus> statusFailed;
@@ -3441,16 +3331,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3460,7 +3344,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<TaskStatus> statusFailed;
@@ -3584,16 +3467,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("ls");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ "ls");
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3602,7 +3479,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<TaskStatus> statusGone;
@@ -3692,16 +3568,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("ls");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ "ls");
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3710,7 +3580,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<TaskStatus> statusFailed;
@@ -3803,16 +3672,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("ls");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ "ls");
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3821,7 +3684,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<TaskStatus> statusFailed;
@@ -3923,22 +3785,17 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- ExecutorInfo executorInfo;
ExecutorID executorId;
executorId.set_value("e1");
- executorInfo.mutable_executor_id()->CopyFrom(executorId);
CommandInfo command;
command.set_value("/bin/test-executor");
- executorInfo.mutable_command()->CopyFrom(command);
+
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command,
+ executorId);
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -3948,9 +3805,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
dockerInfo.set_image("tnachen/test-executor");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- executorInfo.mutable_container()->CopyFrom(containerInfo);
- task.mutable_executor()->CopyFrom(executorInfo);
+ task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
Future<TaskStatus> statusFailed;
EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -4211,17 +4067,14 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NoTransitionFromKillingToFinished)
AWAIT_READY(offers);
EXPECT_EQ(1u, offers->size());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
CommandInfo command;
command.set_shell(false);
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
+
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -4233,7 +4086,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NoTransitionFromKillingToFinished)
dockerInfo.set_image("nginx:alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -4342,16 +4194,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_CGROUPS_CFS_CgroupsEnableCFS)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -4361,7 +4207,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_CGROUPS_CFS_CgroupsEnableCFS)
dockerInfo.set_image("alpine");
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
@@ -4486,19 +4331,16 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Non_Root_Sandbox)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
// Start the task as a user without supplying an explicit command
// user. This should inherit the framework user for the task
// ownership.
- CommandInfo* command = task.mutable_command();
- command->set_value("echo \"foo\" && sleep 1000");
+ CommandInfo command;
+ command.set_value("echo \"foo\" && sleep 1000");
+
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ command);
ContainerInfo* containerInfo = task.mutable_container();
containerInfo->set_type(ContainerInfo::DOCKER);
@@ -4644,16 +4486,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DefaultDNS)
AWAIT_READY(offers);
ASSERT_FALSE(offers->empty());
- const Offer& offer = offers.get()[0];
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->CopyFrom(offer.slave_id());
- task.mutable_resources()->CopyFrom(offer.resources());
-
- CommandInfo command;
- command.set_value("sleep 1000");
+ TaskInfo task = createTask(
+ offers->front().slave_id(),
+ offers->front().resources(),
+ SLEEP_COMMAND(1000));
ContainerInfo containerInfo;
containerInfo.set_type(ContainerInfo::DOCKER);
@@ -4664,7 +4500,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DefaultDNS)
dockerInfo.set_network(ContainerInfo::DockerInfo::BRIDGE);
containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_command()->CopyFrom(command);
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
http://git-wip-us.apache.org/repos/asf/mesos/blob/5f74c05b/src/tests/mesos.hpp
----------------------------------------------------------------------
diff --git a/src/tests/mesos.hpp b/src/tests/mesos.hpp
index 6f4e0c5..7356523 100644
--- a/src/tests/mesos.hpp
+++ b/src/tests/mesos.hpp
@@ -785,6 +785,8 @@ inline void setAgentID(TaskInfo* task, const SlaveID& slaveId)
{
task->mutable_slave_id()->CopyFrom(slaveId);
}
+
+
inline void setAgentID(
mesos::v1::TaskInfo* task,
const mesos::v1::AgentID& agentId)
[2/2] mesos git commit: Added a `createDockerInfo` helper API in
Docker containerizer tests.
Posted by jp...@apache.org.
Added a `createDockerInfo` helper API in Docker containerizer tests.
The Docker containerizer tests all create a Docker `ContainerInfo`.
We can reduce the amount of copy/paste boilerplate by adding a
simple helper function to create a `ContainerInfo` with a Docker
image.
Review: https://reviews.apache.org/r/66637/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/fd7889a3
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/fd7889a3
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/fd7889a3
Branch: refs/heads/master
Commit: fd7889a34caa6bc927863500d69bbaf190b9fea8
Parents: 5f74c05
Author: James Peach <jp...@apache.org>
Authored: Mon Apr 16 13:42:11 2018 -0700
Committer: James Peach <jp...@apache.org>
Committed: Mon Apr 16 13:42:11 2018 -0700
----------------------------------------------------------------------
.../docker_containerizer_tests.cpp | 330 ++++---------------
1 file changed, 64 insertions(+), 266 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/fd7889a3/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 902a247..5e3dfdb 100644
--- a/src/tests/containerizer/docker_containerizer_tests.cpp
+++ b/src/tests/containerizer/docker_containerizer_tests.cpp
@@ -98,6 +98,18 @@ namespace internal {
namespace tests {
+static
+ContainerInfo createDockerInfo(const string& imageName)
+{
+ ContainerInfo containerInfo;
+
+ containerInfo.set_type(ContainerInfo::DOCKER);
+ containerInfo.mutable_docker()->set_image(imageName);
+
+ return containerInfo;
+}
+
+
class DockerContainerizerTest : public MesosTest
{
public:
@@ -249,16 +261,9 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
command,
executorId);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("tnachen/test-executor");
-
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
+ task.mutable_executor()->mutable_container()->CopyFrom(
+ createDockerInfo("tnachen/test-executor"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -369,15 +374,11 @@ TEST_F(DockerContainerizerTest, DISABLED_ROOT_DOCKER_Launch_Executor_Bridged)
command,
executorId);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("tnachen/test-executor");
- dockerInfo.set_network(ContainerInfo::DockerInfo::BRIDGE);
+ ContainerInfo containerInfo = createDockerInfo("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+ containerInfo.mutable_docker()->set_network(
+ ContainerInfo::DockerInfo::BRIDGE);
task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
@@ -474,15 +475,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -621,15 +615,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -746,15 +733,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_TaskKillingCapability)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -868,15 +848,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
offers->front().resources(),
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -1010,15 +983,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -1155,13 +1121,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Recover)
Resources resources = Resources::parse("cpus:1;mem:512").get();
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+ ContainerInfo containerInfo = createDockerInfo("alpine");
CommandInfo commandInfo;
commandInfo.set_value("sleep 1000");
@@ -1291,14 +1252,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_KillOrphanContainers)
Resources resources = Resources::parse("cpus:1;mem:512").get();
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
-
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+ ContainerInfo containerInfo = createDockerInfo("alpine");
CommandInfo commandInfo;
commandInfo.set_value("sleep 1000");
@@ -1481,19 +1436,14 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SkipRecoverMalformedUUID)
ASSERT_TRUE(docker->rm(container, true).await(Seconds(30)));
Resources resources = Resources::parse("cpus:1;mem:512").get();
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
CommandInfo commandInfo;
commandInfo.set_value("sleep 1000");
Try<Docker::RunOptions> runOptions = Docker::RunOptions::create(
- containerInfo,
+ createDockerInfo("alpine"),
commandInfo,
container,
flags.work_dir,
@@ -1605,15 +1555,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
Resources::parse("cpus:1;mem:64").get() + volume,
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
// We use the filter explicitly here so that the resources will not
// be filtered for 5 seconds (the default).
@@ -1762,15 +1705,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
Resources::parse("cpus:1;mem:64").get() + volume,
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
Future<ContainerConfig> containerConfig;
@@ -1922,15 +1858,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
Resources::parse("cpus:1;mem:64").get() + volume,
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
Future<ContainerConfig> containerConfig;
@@ -2084,17 +2013,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
offers->front().resources(),
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
// NOTE: This is an image that is exactly
// `docker run -t -i alpine /bin/sh -c "apk add --update expect"`.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("mesosphere/alpine-expect");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(
+ createDockerInfo("mesosphere/alpine-expect"));
Future<ContainerID> containerId;
Future<ContainerConfig> containerConfig;
@@ -2220,15 +2143,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
offers->front().resources(),
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("mesosphere/inky");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("mesosphere/inky"));
Future<ContainerID> containerId;
Future<ContainerConfig> containerConfig;
@@ -2355,15 +2271,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
offers->front().resources(),
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("mesosphere/inky");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("mesosphere/inky"));
Future<ContainerID> containerId;
Future<ContainerConfig> containerConfig;
@@ -2494,15 +2403,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
offers->front().resources(),
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("mesosphere/inky");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("mesosphere/inky"));
Future<ContainerID> containerId;
Future<ContainerConfig> containerConfig;
@@ -2624,15 +2526,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _))
@@ -2799,15 +2694,9 @@ TEST_F(DockerContainerizerTest,
command,
executorId);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("mesosphere/test-executor");
-
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
- task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
+ task.mutable_executor()->mutable_container()->CopyFrom(
+ createDockerInfo("mesosphere/test-executor"));
Future<ContainerID> containerId;
EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _))
@@ -2963,20 +2852,17 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
offers->front().resources(),
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- dockerInfo.set_network(ContainerInfo::DockerInfo::BRIDGE);
+ ContainerInfo containerInfo = createDockerInfo("alpine");
+
+ containerInfo.mutable_docker()->set_network(
+ ContainerInfo::DockerInfo::BRIDGE);
ContainerInfo::DockerInfo::PortMapping portMapping;
portMapping.set_host_port(10000);
portMapping.set_container_port(1000);
- dockerInfo.add_port_mappings()->CopyFrom(portMapping);
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+ containerInfo.mutable_docker()->add_port_mappings()->CopyFrom(portMapping);
task.mutable_container()->CopyFrom(containerInfo);
@@ -3109,15 +2995,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
None(),
"test:colon");
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -3223,15 +3102,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<TaskStatus> statusFailed;
EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -3336,15 +3208,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<TaskStatus> statusFailed;
EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -3472,14 +3337,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
offers->front().resources(),
"ls");
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<TaskStatus> statusGone;
EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -3573,14 +3431,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
offers->front().resources(),
"ls");
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<TaskStatus> statusFailed;
EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -3677,14 +3528,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
offers->front().resources(),
"ls");
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<TaskStatus> statusFailed;
EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -3797,16 +3641,9 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
command,
executorId);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("tnachen/test-executor");
-
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_executor()->mutable_container()->CopyFrom(containerInfo);
+ task.mutable_executor()->mutable_container()->CopyFrom(
+ createDockerInfo("tnachen/test-executor"));
Future<TaskStatus> statusFailed;
EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -3933,9 +3770,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NoTransitionFromKillingToRunning)
// The docker container runs in host network mode.
//
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
- containerInfo.mutable_docker()->set_image("alpine");
+ ContainerInfo containerInfo = createDockerInfo("alpine");
+
containerInfo.mutable_docker()->set_network(
ContainerInfo::DockerInfo::HOST);
@@ -4075,18 +3911,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NoTransitionFromKillingToFinished)
offers->front().resources(),
command);
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// The "nginx:alpine" container returns an "EXIT_STATUS" of 0 on
// receiving a SIGTERM.
//
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("nginx:alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("nginx:alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(containerizer, launch(_, _, _, _))
@@ -4199,15 +4028,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_CGROUPS_CFS_CgroupsEnableCFS)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -4342,12 +4164,8 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Non_Root_Sandbox)
offers->front().resources(),
command);
- ContainerInfo* containerInfo = task.mutable_container();
- containerInfo->set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo* dockerInfo = containerInfo->mutable_docker();
- dockerInfo->set_image("alpine");
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -4491,14 +4309,11 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DefaultDNS)
offers->front().resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- dockerInfo.set_network(ContainerInfo::DockerInfo::BRIDGE);
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+ ContainerInfo containerInfo = createDockerInfo("alpine");
+
+ containerInfo.mutable_docker()->set_network(
+ ContainerInfo::DockerInfo::BRIDGE);
task.mutable_container()->CopyFrom(containerInfo);
@@ -4666,15 +4481,8 @@ TEST_F(DockerContainerizerIPv6Test, ROOT_DOCKER_LaunchIPv6HostNetwork)
offer.resources(),
SLEEP_COMMAND(10000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))
@@ -4858,14 +4666,11 @@ TEST_F(
offer.resources(),
SLEEP_COMMAND(10000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- dockerInfo.set_network(ContainerInfo::DockerInfo::USER);
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+ ContainerInfo containerInfo = createDockerInfo("alpine");
+
+ containerInfo.mutable_docker()->set_network(
+ ContainerInfo::DockerInfo::USER);
// Setup the docker IPv6 network.
NetworkInfo networkInfo;
@@ -5116,15 +4921,8 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(
offer.resources(),
SLEEP_COMMAND(1000));
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::DOCKER);
-
// TODO(tnachen): Use local image to test if possible.
- ContainerInfo::DockerInfo dockerInfo;
- dockerInfo.set_image("alpine");
- containerInfo.mutable_docker()->CopyFrom(dockerInfo);
-
- task.mutable_container()->CopyFrom(containerInfo);
+ task.mutable_container()->CopyFrom(createDockerInfo("alpine"));
Future<ContainerID> containerId;
EXPECT_CALL(dockerContainerizer, launch(_, _, _, _))