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

Timothy Chen commented on MESOS-1593:
-------------------------------------

Part of the DockerInfo change is to introduce DockerInfo as another option for 
launching as Task, therefore as described in the design doc it becomes a 
sibling to CommandInfo and ExecutorInfo. 
However, to have more extensibility for the future when new Containers besides 
Docker are added, having more optional specific Container fields becomes hard 
to manage especially when there are multiple places that needs ContainerInfo.
To have more flexibility we want to introduce a new ContainerInfo that sits 
outside of a CommandInfo and be at the high level as an independent concept, 
and serves as the base message for all future specific Containers such as 
Docker. The CommandInfo will have a type and enumeration of all containerizer 
types.
What this means is that for TaskInfo instead of adding a new DockerInfo, we 
will add a ContainerInfo instead. The DockerContainerizer will only support the 
passed in ContainerInfo if it is type of Docker.
This not only help us to prepare for more Containerizer types, but also help us 
reuse ContainerInfo to places besides just Tasks and also in Pods and other 
concepts that we introduce.

One other major design decision is also about the coupling between CommandInfo 
and ContainerInfo. To truly make ContainerInfo independent we need to make 
CommandInfo part of ContainerInfo, which allows ContainerInfo to be used in 
other contexts without a pairing CommandInfo. However the biggest concern is 
the API change required to make this switch, which is almost all the 
frameworks. 

The alternative is to leave not incorporate a CommandInfo, and instead let 
ContainerInfo and CommandInfo still be coupled for now until we need to move it 
outside of TaskInfo.

So in summary, I'm proposing that we introduce a new ContainerInfo that is at 
the high level, deprecate the ContainerInfo in CommandInfo and let DockerInfo 
extend from the new ContainerInfo. DockerInfo will no longer have a 
CommandInfo, but will expect to be launched with a CommandInfo that is in the 
TaskInfo itself.


> Add DockerInfo Configuration
> ----------------------------
>
>                 Key: MESOS-1593
>                 URL: https://issues.apache.org/jira/browse/MESOS-1593
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Timothy Chen
>            Assignee: Timothy Chen
>
> We want to add a new proto message to encapsulate all Docker related 
> configurations into DockerInfo.
> Here is the document that describes the design for DockerInfo:
> https://github.com/tnachen/mesos/wiki/DockerInfo-design



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to