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;