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

Build a Container I/O Switchboard

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.2.0
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: