You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ch...@apache.org on 2018/09/22 06:34:13 UTC
[mesos] 09/10: Tested container cleanup in
`AgentResourceProviderConfigApiTest.Remove`.
This is an automated email from the ASF dual-hosted git repository.
chhsiao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git
commit 678fa8b44bc9c09f5f9908a3a4511f7195150d7b
Author: Chun-Hung Hsiao <ch...@mesosphere.io>
AuthorDate: Tue Sep 18 21:40:35 2018 -0700
Tested container cleanup in `AgentResourceProviderConfigApiTest.Remove`.
Review: https://reviews.apache.org/r/68762
---
.../agent_resource_provider_config_api_tests.cpp | 29 +++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/tests/agent_resource_provider_config_api_tests.cpp b/src/tests/agent_resource_provider_config_api_tests.cpp
index 891678f..15c83b3 100644
--- a/src/tests/agent_resource_provider_config_api_tests.cpp
+++ b/src/tests/agent_resource_provider_config_api_tests.cpp
@@ -37,6 +37,10 @@
#include "slave/slave.hpp"
+#include "slave/containerizer/fetcher.hpp"
+
+#include "slave/containerizer/mesos/containerizer.hpp"
+
#include "tests/flags.hpp"
#include "tests/mesos.hpp"
@@ -867,10 +871,21 @@ TEST_P(AgentResourceProviderConfigApiTest, Remove)
ResourceProviderInfo info = createResourceProviderInfo("volume1:4GB");
ASSERT_SOME(os::write(configPath, stringify(JSON::protobuf(info))));
+ slave::Flags slaveFlags = CreateSlaveFlags();
+
+ slave::Fetcher fetcher(slaveFlags);
+
+ Try<slave::MesosContainerizer*> _containerizer =
+ slave::MesosContainerizer::create(slaveFlags, false, &fetcher);
+ ASSERT_SOME(_containerizer);
+
+ Owned<slave::MesosContainerizer> containerizer(_containerizer.get());
+
Future<SlaveRegisteredMessage> slaveRegisteredMessage =
FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _);
- Try<Owned<cluster::Slave>> slave = StartSlave(detector.get());
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get(), slaveFlags);
ASSERT_SOME(slave);
AWAIT_READY(slaveRegisteredMessage);
@@ -907,6 +922,15 @@ TEST_P(AgentResourceProviderConfigApiTest, Remove)
AWAIT_READY(oldOffers);
ASSERT_FALSE(oldOffers->empty());
+ Future<hashset<ContainerID>> pluginContainers = containerizer->containers();
+
+ // Check that there is one plugin container running.
+ AWAIT_READY(pluginContainers);
+ ASSERT_EQ(1u, pluginContainers->size());
+
+ Future<Option<mesos::slave::ContainerTermination>> pluginTermination =
+ containerizer->wait(*pluginContainers->begin());
+
Future<OfferID> rescinded;
EXPECT_CALL(sched, offerRescinded(&driver, oldOffers->at(0).id()))
@@ -922,6 +946,9 @@ TEST_P(AgentResourceProviderConfigApiTest, Remove)
// Wait for the old offer to be rescinded.
AWAIT_READY(rescinded);
+
+ // Check that the plugin container has been destroyed.
+ AWAIT_READY(pluginTermination);
}