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/04/24 20:53:45 UTC
mesos git commit: Enabled sequene for unmount() in docker volume
isolator.
Repository: mesos
Updated Branches:
refs/heads/master e92cc460a -> 39a5d9459
Enabled sequene for unmount() in docker volume isolator.
Review: https://reviews.apache.org/r/44609
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/39a5d945
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/39a5d945
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/39a5d945
Branch: refs/heads/master
Commit: 39a5d9459a862056d658ce0049cc299129172a2d
Parents: e92cc46
Author: Guangya Liu <gy...@gmail.com>
Authored: Sun Apr 24 11:53:10 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Sun Apr 24 11:53:10 2016 -0700
----------------------------------------------------------------------
.../mesos/isolators/docker/volume/isolator.cpp | 25 +++++++++++++++++++-
.../mesos/isolators/docker/volume/isolator.hpp | 8 +++++++
2 files changed, 32 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/39a5d945/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
index 752707c..4675c76 100644
--- a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
+++ b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
@@ -503,7 +503,7 @@ Future<Nothing> DockerVolumeIsolatorProcess::cleanup(
<< "' for container " << containerId;
// Invoke dvdcli client to unmount the docker volume.
- futures.push_back(client->unmount(volume.driver(), volume.name()));
+ futures.push_back(this->unmount(volume.driver(), volume.name()));
}
return await(futures)
@@ -576,6 +576,29 @@ Future<string> DockerVolumeIsolatorProcess::_mount(
return client->mount(driver, name, options);
}
+
+Future<Nothing> DockerVolumeIsolatorProcess::unmount(
+ const string& driver,
+ const string& name)
+{
+ DockerVolume volume;
+ volume.set_driver(driver);
+ volume.set_name(name);
+
+ return sequences[volume].add<Nothing>(
+ defer(PID<DockerVolumeIsolatorProcess>(this), [=]() -> Future<Nothing> {
+ return _unmount(driver, name);
+ }));
+}
+
+
+Future<Nothing> DockerVolumeIsolatorProcess::_unmount(
+ const string& driver,
+ const string& name)
+{
+ return client->unmount(driver, name);
+}
+
} // namespace slave {
} // namespace internal {
} // namespace mesos {
http://git-wip-us.apache.org/repos/asf/mesos/blob/39a5d945/src/slave/containerizer/mesos/isolators/docker/volume/isolator.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.hpp b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.hpp
index b183bf3..5402973 100644
--- a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.hpp
+++ b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.hpp
@@ -107,6 +107,14 @@ private:
const std::string& name,
const hashmap<std::string, std::string>& options);
+ process::Future<Nothing> unmount(
+ const std::string& driver,
+ const std::string& name);
+
+ process::Future<Nothing> _unmount(
+ const std::string& driver,
+ const std::string& name);
+
const Flags flags;
const std::string rootDir;
const process::Owned<docker::volume::DriverClient> client;