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/22 20:46:31 UTC
[02/12] mesos git commit: Removed DestroyWhileProvisioningVolumeImage
test.
Removed DestroyWhileProvisioningVolumeImage test.
Given that we moved the image volume provisioning code into an
isolator, this test no longer applies.
Review: https://reviews.apache.org/r/51161/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/80676e6d
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/80676e6d
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/80676e6d
Branch: refs/heads/master
Commit: 80676e6dbc2a1773a1b2b47e61140064d64e94b5
Parents: cf775ba
Author: Jie Yu <yu...@gmail.com>
Authored: Mon Aug 22 13:00:12 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Mon Aug 22 13:00:12 2016 -0700
----------------------------------------------------------------------
.../containerizer/mesos_containerizer_tests.cpp | 101 -------------------
1 file changed, 101 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/80676e6d/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 4a49247..2a2ef51 100644
--- a/src/tests/containerizer/mesos_containerizer_tests.cpp
+++ b/src/tests/containerizer/mesos_containerizer_tests.cpp
@@ -974,107 +974,6 @@ TEST_F(MesosContainerizerProvisionerTest, DestroyWhileProvisioning)
}
-// This test verifies that there is no race (or leaked provisioned
-// directories) if the containerizer destroy a container while it
-// is provisioning a volume image in '_launch'.
-TEST_F(MesosContainerizerProvisionerTest, DestroyWhileProvisioningVolumeImage)
-{
- slave::Flags flags = CreateSlaveFlags();
-
- Try<Launcher*> launcher_ = PosixLauncher::create(flags);
- ASSERT_SOME(launcher_);
-
- TestLauncher* launcher = new TestLauncher(Owned<Launcher>(launcher_.get()));
-
- MockProvisioner* provisioner = new MockProvisioner();
-
- Future<Nothing> provision;
- Promise<ProvisionInfo> promise;
-
- EXPECT_CALL(*provisioner, provision(_, _))
- .WillOnce(DoAll(FutureSatisfy(&provision),
- Return(promise.future())));
-
- EXPECT_CALL(*provisioner, destroy(_))
- .WillOnce(Return(true));
-
- Fetcher fetcher;
-
- Try<ContainerLogger*> logger =
- ContainerLogger::create(flags.container_logger);
-
- ASSERT_SOME(logger);
-
- MesosContainerizerProcess* process = new MesosContainerizerProcess(
- flags,
- true,
- &fetcher,
- Owned<ContainerLogger>(logger.get()),
- Owned<Launcher>(launcher),
- Owned<Provisioner>(provisioner),
- vector<Owned<Isolator>>());
-
- MesosContainerizer containerizer((Owned<MesosContainerizerProcess>(process)));
-
- ContainerID containerId;
- containerId.set_value(UUID::random().toString());
-
- TaskInfo taskInfo;
- CommandInfo commandInfo;
- taskInfo.mutable_command()->MergeFrom(commandInfo);
-
- ContainerInfo::MesosInfo mesosInfo;
-
- ContainerInfo containerInfo;
- containerInfo.set_type(ContainerInfo::MESOS);
- containerInfo.mutable_mesos()->CopyFrom(mesosInfo);
-
- Image image;
- image.set_type(Image::DOCKER);
- Image::Docker dockerImage;
- dockerImage.set_name(UUID::random().toString());
- image.mutable_docker()->CopyFrom(dockerImage);
-
- Volume* volume = containerInfo.add_volumes();
- volume->mutable_image()->CopyFrom(image);
- volume->set_container_path("tmp");
- volume->set_mode(Volume::RW);
-
- ExecutorInfo executorInfo = CREATE_EXECUTOR_INFO("executor", "exit 0");
- executorInfo.mutable_container()->CopyFrom(containerInfo);
-
- Future<bool> launch = containerizer.launch(
- containerId,
- taskInfo,
- executorInfo,
- os::getcwd(),
- None(),
- SlaveID(),
- map<string, string>(),
- false);
-
- Future<containerizer::Termination> wait = containerizer.wait(containerId);
-
- AWAIT_READY(provision);
-
- containerizer.destroy(containerId);
-
- ASSERT_TRUE(wait.isPending());
- promise.set(ProvisionInfo{"rootfs", None()});
-
- AWAIT_FAILED(launch);
- AWAIT_READY(wait);
-
- containerizer::Termination termination = wait.get();
-
- EXPECT_EQ(
- "Container destroyed while provisioning images",
- termination.message());
-
- EXPECT_FALSE(termination.has_status());
-}
-
-
// This test verifies that isolator cleanup will not be invoked
// if the containerizer destroy a container while it is provisioning
// an image, because isolators are not prepared yet.