mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Klues <>
Subject Re: Review Request 54147: Added a server side component for the IOSwitchboard.
Date Wed, 30 Nov 2016 03:46:22 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated Nov. 30, 2016, 3:46 a.m.)

Review request for mesos and Jie Yu.


Renamed the test file, and moved the core logic of the server out of `initialize()` and into
a `run()` function that must be explicitly called. The motivation for this was to ensure that
the caller is able to *always* get a handle on the future used to mark termination of the
server, even if it fails early on and calls terminate() on itself before the old `future()`
call could be made.

Bugs: MESOS-6639

Repository: mesos


The 'IOSwitchboardServer' component encapsulates the server side logic
for redirecting the 'stdin/stdout/stderr' of a container to/from
multiple sources/targets. For now, we only redirect IO from a
container to the FDs supplied to us by the logger.  We also send the
stdout/stderr data to a simple HTTP server that we launch on a unix
domain socket set up by the agent.  Right now this server is just a
stub and doesn't do anything useful.

In future commits, we will expand this HTTP server to handle
of a container. It will use the stdout/stderr messages passed to it to
and send that data over the response stream to any clients connected
with an 'ATTACH_CONTAINER_OUTPUT' call. Likewise, it will take any
input streamed in over a 'ATTACH_CONTAINER_INPUT' request and write it
to a container's stdin.

In 'local' mode, it will be run inside the agent itself. In
'non-local' mode, it will be run as an external process to survive
agent restarts.

Diffs (updated)

  src/ d1cc1016b1642c504f52c27623bc12c7ddf07599 
  src/slave/containerizer/mesos/io/switchboard.hpp aaa3a35245b291f6003f519dbf8c0e1b82bc15fd

  src/slave/containerizer/mesos/io/switchboard.cpp 25cbf2447d197134f0753b062b6f4130821005b2

  src/tests/containerizer/io_switchboard_tests.cpp PRE-CREATION 



GTEST_FILTER="" make -j check
sudo src/mesos-tests


Kevin Klues

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message