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/05/02 19:42:55 UTC
mesos git commit: Made volume isolator logic injectable for
MockDriverClient.
Repository: mesos
Updated Branches:
refs/heads/master 237f1a44d -> 2c6eeefe1
Made volume isolator logic injectable for MockDriverClient.
Review: https://reviews.apache.org/r/46682/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/2c6eeefe
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/2c6eeefe
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/2c6eeefe
Branch: refs/heads/master
Commit: 2c6eeefe13c5706da70328af6cea14f802121bf2
Parents: 237f1a4
Author: Gilbert Song <so...@gmail.com>
Authored: Mon May 2 10:38:44 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Mon May 2 10:39:40 2016 -0700
----------------------------------------------------------------------
.../mesos/isolators/docker/volume/isolator.cpp | 17 ++++++++++++++++-
.../mesos/isolators/docker/volume/isolator.hpp | 5 +++++
2 files changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/2c6eeefe/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 73d6370..9cc9de0 100644
--- a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
+++ b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
@@ -80,6 +80,21 @@ Try<Isolator*> DockerVolumeIsolatorProcess::create(const Flags& flags)
"Unable to create docker volume driver client: " + client.error());
}
+ Try<Isolator*> isolator =
+ DockerVolumeIsolatorProcess::_create(flags, client.get());
+
+ if (isolator.isError()) {
+ return Error(isolator.error());
+ }
+
+ return isolator.get();
+}
+
+
+Try<Isolator*> DockerVolumeIsolatorProcess::_create(
+ const Flags& flags,
+ const Owned<DriverClient>& client)
+{
// Create the docker volume information root directory if it does
// not exist, this directory is used to checkpoint the docker
// volumes used by containers.
@@ -105,7 +120,7 @@ Try<Isolator*> DockerVolumeIsolatorProcess::create(const Flags& flags)
new DockerVolumeIsolatorProcess(
flags,
rootDir.get(),
- client.get()));
+ client));
return new MesosIsolator(process);
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/2c6eeefe/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 5402973..01777d4 100644
--- a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.hpp
+++ b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.hpp
@@ -45,6 +45,11 @@ class DockerVolumeIsolatorProcess : public MesosIsolatorProcess
public:
static Try<mesos::slave::Isolator*> create(const Flags& flags);
+ // This allows the driver client to be mock for testing.
+ static Try<mesos::slave::Isolator*> _create(
+ const Flags& flags,
+ const process::Owned<docker::volume::DriverClient>& client);
+
virtual ~DockerVolumeIsolatorProcess();
virtual process::Future<Nothing> recover(