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;