You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Kevin Klues (JIRA)" <ji...@apache.org> on 2016/11/04 00:56:58 UTC

[jira] [Commented] (MESOS-6469) Build an Attach Container Actor

    [ https://issues.apache.org/jira/browse/MESOS-6469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15634825#comment-15634825 ] 

Kevin Klues commented on MESOS-6469:
------------------------------------

We talked through exactly what needs to happen between the HTTP handlers and the I/O switchboard and figured out we can split all of the logic that would have been in the {{AttachContainerActor}} between the containerizer and the HTTP handlers themselves.  As designed previously, the HTTP handlers would have been extremely trivial and definitely not taken 5 days to do. Now they will be a bit beefier (implementing the logic we thought would go in the {{AttachContainerActor}}), but we had already allocated ample time for them.

> Build an Attach Container Actor
> -------------------------------
>
>                 Key: MESOS-6469
>                 URL: https://issues.apache.org/jira/browse/MESOS-6469
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Kevin Klues
>            Assignee: Kevin Klues
>              Labels: debugging, mesosphere
>
> The new agent API calls for ATTACH_CONTAINER_INPUT and ATTACH_CONTAINER_OUTPUT are intimately intertwined. That is, most attach operations will likely want to call both ATTACH_CONTAINER_INPUT and ATTACH_CONTAINER_OUTPUT in order to attach all three of stdin, stdout and stderr to a local terminal.
> Moreover, we plan to allow multiple ATTACH_CONTAINER_OUTPUT calls can be made for the same container (i.e. from multiple clients), while only one ATTACH_CONTAINER_INPUT call will be allowed to connect at a time.
> In order to ensure that these calls are properly grouped (as well as to ensure that any state they need to share is properly confined), we will lazily launch a “per-container” actor to manage all ATTACH_CONTAINER_OUTPUT and ATTACH_CONTAINER_INPUT calls on behalf of a container.
> It will be the responsibility of this actor to:
>  * Manage the read end of the pipe set up by the HTTP handler for the ATTACH_CONTAINER_INPUT call for a given container.
>  * Manage the write end of the pipes set up by the HTTP handler for all ATTACH_CONTAINER_OUTPUT calls for a given container.
>  * Establish a connection to a per-container “I/O switchboard” (discussed below) in order to forward data coming from the ATTACH_CONTAINER_INPUT pipe to the switchboard.
>  * Establish a second connection to the per-container “I/O switchboard” to stream all stdout data coming from the switchboard to all ATTACH_CONTAINER_OUTPUT pipes.
>  * Establish a third connection to the per-container “I/O switchboard” to stream all stderr data coming from the switchboard to all ATTACH_CONTAINER_OUTPUT pipes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)