[
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)