Implemented `status` method in `ComposingContainerizer`.

This method will be used by the agent to retrieve `ContainerStatus` from
the `Containerizer`, that was responsible for launching the container.

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


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

Branch: refs/heads/master
Commit: 74c503658489293ed78c8abc493c36472431303f
Parents: d208662
Author: Avinash sridharan <[email protected]>
Authored: Tue Feb 16 15:50:13 2016 -0800
Committer: Jie Yu <[email protected]>
Committed: Tue Feb 16 15:50:13 2016 -0800

----------------------------------------------------------------------
 src/slave/containerizer/composing.cpp | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/74c50365/src/slave/containerizer/composing.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/composing.cpp 
b/src/slave/containerizer/composing.cpp
index f0a7bba..15d059f 100644
--- a/src/slave/containerizer/composing.cpp
+++ b/src/slave/containerizer/composing.cpp
@@ -81,6 +81,9 @@ public:
   Future<ResourceStatistics> usage(
       const ContainerID& containerId);
 
+  Future<ContainerStatus> status(
+      const ContainerID& containerId);
+
   Future<containerizer::Termination> wait(
       const ContainerID& containerId);
 
@@ -221,6 +224,13 @@ Future<ResourceStatistics> ComposingContainerizer::usage(
 }
 
 
+Future<ContainerStatus> ComposingContainerizer::status(
+    const ContainerID& containerId)
+{
+  return dispatch(process, &ComposingContainerizerProcess::status, 
containerId);
+}
+
+
 Future<containerizer::Termination> ComposingContainerizer::wait(
     const ContainerID& containerId)
 {
@@ -496,6 +506,17 @@ Future<ResourceStatistics> 
ComposingContainerizerProcess::usage(
 }
 
 
+Future<ContainerStatus> ComposingContainerizerProcess::status(
+    const ContainerID& containerId)
+{
+  if (!containers_.contains(containerId)) {
+    return Failure("Container " + containerId.value() + " not found");
+  }
+
+  return containers_[containerId]->containerizer->status(containerId);
+}
+
+
 Future<containerizer::Termination> ComposingContainerizerProcess::wait(
     const ContainerID& containerId)
 {

Reply via email to