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/12/01 20:09:40 UTC

[2/2] mesos git commit: Updated IOSwitchboard to block IO until connected for DEBUG containers.

Updated IOSwitchboard to block IO until connected for DEBUG containers.

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


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

Branch: refs/heads/master
Commit: 18845afb7f02b0ec92d106e445827f92d3b02329
Parents: 326e23a
Author: Kevin Klues <kl...@gmail.com>
Authored: Thu Dec 1 11:21:47 2016 -0800
Committer: Jie Yu <yu...@gmail.com>
Committed: Thu Dec 1 12:09:36 2016 -0800

----------------------------------------------------------------------
 src/slave/containerizer/mesos/io/switchboard.cpp | 12 +++++++++++-
 src/slave/containerizer/mesos/io/switchboard.hpp |  1 +
 2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/18845afb/src/slave/containerizer/mesos/io/switchboard.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/io/switchboard.cpp b/src/slave/containerizer/mesos/io/switchboard.cpp
index c4c9fc7..3e1c8bb 100644
--- a/src/slave/containerizer/mesos/io/switchboard.cpp
+++ b/src/slave/containerizer/mesos/io/switchboard.cpp
@@ -43,6 +43,7 @@
 
 #include <mesos/agent/agent.hpp>
 
+#include <mesos/slave/containerizer.hpp>
 #include <mesos/slave/container_logger.hpp>
 
 #include "common/http.hpp"
@@ -76,6 +77,7 @@ using std::string;
 using std::vector;
 
 using mesos::slave::ContainerConfig;
+using mesos::slave::ContainerClass;
 using mesos::slave::ContainerIO;
 using mesos::slave::ContainerLaunchInfo;
 using mesos::slave::ContainerLogger;
@@ -145,12 +147,14 @@ Future<Option<ContainerLaunchInfo>> IOSwitchboard::prepare(
         PID<IOSwitchboard>(this),
         &IOSwitchboard::_prepare,
         containerId,
+        containerConfig,
         lambda::_1));
 }
 
 
 Future<Option<ContainerLaunchInfo>> IOSwitchboard::_prepare(
     const ContainerID& containerId,
+    const ContainerConfig& containerConfig,
     const ContainerLogger::SubprocessInfo& loggerInfo)
 {
   // On windows, we do not yet support running an io switchboard
@@ -281,7 +285,13 @@ Future<Option<ContainerLaunchInfo>> IOSwitchboard::_prepare(
   switchboardFlags.stdout_to_fd = STDOUT_FILENO;
   switchboardFlags.stderr_from_fd = errfds[0];
   switchboardFlags.stderr_to_fd = STDERR_FILENO;
-  switchboardFlags.wait_for_connection = false;
+
+  if (containerConfig.container_class() == ContainerClass::DEBUG) {
+    switchboardFlags.wait_for_connection = true;
+  } else {
+    switchboardFlags.wait_for_connection = false;
+  }
+
   switchboardFlags.socket_path = path::join(
       stringify(os::PATH_SEPARATOR),
       "tmp",

http://git-wip-us.apache.org/repos/asf/mesos/blob/18845afb/src/slave/containerizer/mesos/io/switchboard.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/io/switchboard.hpp b/src/slave/containerizer/mesos/io/switchboard.hpp
index c0db39b..23c66bb 100644
--- a/src/slave/containerizer/mesos/io/switchboard.hpp
+++ b/src/slave/containerizer/mesos/io/switchboard.hpp
@@ -88,6 +88,7 @@ private:
 
   process::Future<Option<mesos::slave::ContainerLaunchInfo>> _prepare(
       const ContainerID& containerId,
+      const mesos::slave::ContainerConfig& containerConfig,
       const mesos::slave::ContainerLogger::SubprocessInfo& loggerInfo);
 
   Flags flags;