Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-6467

Build a Container I/O Switchboard

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.2.0
    • Component/s: None

      Description

      In order to facilitate attach operations for a running container, we plan to introduce a new component into Mesos known as an “I/O switchboard”. The goal of this switchboard is to allow external components to dynamically interpose on the stdin, stdout and stderr of the init process of a running Mesos container. It will be implemented as a per-container, stand-alone process launched by the mesos containerizer at the time a container is first launched.

      Each per-container switchboard will be responsible for the following:

      • Accepting a single dynamic request to register an fd for streaming data to the stdin of a container’s init process.
      • Accepting multiple dynamic requests to register fds for streaming data from the stdout and stderr of a container’s init process to those fds.
      • Allocating a pty for the new process (if requested), and directing data through the master fd of the pty as necessary.
      • Passing the actual set of file descriptors that should be dup’d onto the stdin, stdout and stderr of a container’s init process back to the containerizer.

      The idea being that the switchboard will maintain three asynchronous loops (one each for stdin, stdout and stderr) that constantly pipe data to/from a container’s init process to/from all of the file descriptors that have been dynamically registered with it.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                klueska Kevin Klues
                Reporter:
                klueska Kevin Klues
                Shepherd:
                Jie Yu
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: