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/07/13 22:55:41 UTC
[3/4] mesos git commit: Added docker test mount relative container
path.
Added docker test mount relative container path.
Review: https://reviews.apache.org/r/49998/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f7df37b7
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f7df37b7
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f7df37b7
Branch: refs/heads/master
Commit: f7df37b7c9e3e9c20899ce906655087c3270c47b
Parents: 2b6f75c
Author: Gilbert Song <so...@gmail.com>
Authored: Wed Jul 13 15:52:18 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Jul 13 15:52:18 2016 -0700
----------------------------------------------------------------------
src/tests/containerizer/docker_tests.cpp | 47 +++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/f7df37b7/src/tests/containerizer/docker_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/docker_tests.cpp b/src/tests/containerizer/docker_tests.cpp
index 0429a31..4108b57 100644
--- a/src/tests/containerizer/docker_tests.cpp
+++ b/src/tests/containerizer/docker_tests.cpp
@@ -558,6 +558,53 @@ TEST_F(DockerTest, ROOT_DOCKER_MountAbsoluteHostPath)
}
+// This test verifies mounting in an absolute host path to
+// a relative container path when running a docker container
+// works.
+TEST_F(DockerTest, ROOT_DOCKER_MountRelativeContainerPath)
+{
+ Owned<Docker> docker = Docker::create(
+ tests::flags.docker,
+ tests::flags.docker_socket,
+ false).get();
+
+ ContainerInfo containerInfo;
+ containerInfo.set_type(ContainerInfo::DOCKER);
+
+ Try<string> directory = environment->mkdtemp();
+ ASSERT_SOME(directory);
+
+ const string testFile = path::join(directory.get(), "test_file");
+ EXPECT_SOME(os::write(testFile, "data"));
+
+ Volume* volume = containerInfo.add_volumes();
+ volume->set_host_path(testFile);
+ volume->set_container_path("tmp/test_file");
+ volume->set_mode(Volume::RO);
+
+ ContainerInfo::DockerInfo dockerInfo;
+ dockerInfo.set_image("alpine");
+
+ containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+
+ CommandInfo commandInfo;
+ commandInfo.set_shell(true);
+ commandInfo.set_value("ls /mnt/mesos/sandbox/tmp/test_file");
+
+ Future<Option<int>> run = docker->run(
+ containerInfo,
+ commandInfo,
+ NAME_PREFIX + "-mount-relative-container-path-test",
+ directory.get(),
+ "/mnt/mesos/sandbox");
+
+ AWAIT_READY(run);
+ ASSERT_SOME(run.get());
+ EXPECT_TRUE(WIFEXITED(run->get())) << run->get();
+ EXPECT_EQ(0, WEXITSTATUS(run->get())) << run->get();
+}
+
+
class DockerImageTest : public MesosTest {};