Added a virtual function to Isolator to tell is it supports nesting.

Review: https://reviews.apache.org/r/51975


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/aaa574ef
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/aaa574ef
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/aaa574ef

Branch: refs/heads/master
Commit: aaa574efbb06b945f08cde99ca253962c9ef06a5
Parents: 45fea21
Author: Jie Yu <yujie....@gmail.com>
Authored: Fri Sep 16 15:07:43 2016 -0700
Committer: Jie Yu <yujie....@gmail.com>
Committed: Fri Sep 16 17:38:59 2016 -0700

----------------------------------------------------------------------
 include/mesos/slave/isolator.hpp           | 8 ++++++++
 src/slave/containerizer/mesos/isolator.cpp | 6 ++++++
 src/slave/containerizer/mesos/isolator.hpp | 7 +++++++
 3 files changed, 21 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/aaa574ef/include/mesos/slave/isolator.hpp
----------------------------------------------------------------------
diff --git a/include/mesos/slave/isolator.hpp b/include/mesos/slave/isolator.hpp
index d5880ee..b16f832 100644
--- a/include/mesos/slave/isolator.hpp
+++ b/include/mesos/slave/isolator.hpp
@@ -41,6 +41,14 @@ class Isolator
 public:
   virtual ~Isolator() {}
 
+  // Returns true if this isolator supports nested containers. This
+  // method is designed to allow isolators to opt-in to support nested
+  // containers.
+  virtual bool supportsNesting()
+  {
+    return false;
+  }
+
   // Recover containers from the run states and the orphan containers
   // (known to the launcher but not known to the slave) detected by
   // the launcher.

http://git-wip-us.apache.org/repos/asf/mesos/blob/aaa574ef/src/slave/containerizer/mesos/isolator.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolator.cpp 
b/src/slave/containerizer/mesos/isolator.cpp
index 253ff3c..ccdcb9a 100644
--- a/src/slave/containerizer/mesos/isolator.cpp
+++ b/src/slave/containerizer/mesos/isolator.cpp
@@ -46,6 +46,12 @@ MesosIsolator::~MesosIsolator()
 }
 
 
+bool MesosIsolator::supportsNesting()
+{
+  return process->supportsNesting();
+}
+
+
 Future<Nothing> MesosIsolator::recover(
     const list<ContainerState>& state,
     const hashset<ContainerID>& orphans)

http://git-wip-us.apache.org/repos/asf/mesos/blob/aaa574ef/src/slave/containerizer/mesos/isolator.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolator.hpp 
b/src/slave/containerizer/mesos/isolator.hpp
index b94947b..aaad346 100644
--- a/src/slave/containerizer/mesos/isolator.hpp
+++ b/src/slave/containerizer/mesos/isolator.hpp
@@ -41,6 +41,8 @@ public:
   explicit MesosIsolator(process::Owned<MesosIsolatorProcess> process);
   virtual ~MesosIsolator();
 
+  virtual bool supportsNesting();
+
   virtual process::Future<Nothing> recover(
       const std::list<mesos::slave::ContainerState>& states,
       const hashset<ContainerID>& orphans);
@@ -79,6 +81,11 @@ class MesosIsolatorProcess : public 
process::Process<MesosIsolatorProcess>
 public:
   virtual ~MesosIsolatorProcess() {}
 
+  virtual bool supportsNesting()
+  {
+    return false;
+  }
+
   virtual process::Future<Nothing> recover(
       const std::list<mesos::slave::ContainerState>& states,
       const hashset<ContainerID>& orphans)

Reply via email to