You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Qian Zhang (JIRA)" <ji...@apache.org> on 2016/05/01 03:53:12 UTC

[jira] [Commented] (MESOS-5306) Mounting /etc/xxx files in CNI for command tasks has race condition.

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

Qian Zhang commented on MESOS-5306:
-----------------------------------

I see the preparation scripts will only be executed when we receives signal in {{MesosContainerizerLaunch::execute()}}, and the signal will be sent from {{MesosContainerizerProcess::exec()}} which will be called after {{MesosContainerizerProcess::isolate()}}, so I guess the {{isolate()}} method of the CNI isolator should always be called before the preparation scripts in ContainerLaunchInfo.

> Mounting /etc/xxx files in CNI for command tasks has race condition.
> --------------------------------------------------------------------
>
>                 Key: MESOS-5306
>                 URL: https://issues.apache.org/jira/browse/MESOS-5306
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Jie Yu
>            Assignee: Jie Yu
>             Fix For: 0.29.0
>
>
> This is because there's no ordering between the execution of the 'isolate()' method of the CNI isolator and the execution of the preparation scripts in ContainerLaunchInfo.
> For command tasks, currently, we do a recursive bind mount (<rootfs> -> <sandbox>/.rootfs) in the preparation script returned by the linux filesystem isolator (same as other volumes). The command executor will then pivot_root into <sandbox>/.rootfs.
> As a result, depending on the timing. the /etc/xxx files mounted at <rootfs>/etc/xxx might or might not be present in the rootfs for command tasks.



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