[
https://issues.apache.org/jira/browse/MESOS-5306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15266980#comment-15266980
]
Jie Yu commented on MESOS-5306:
-------------------------------
Good catch, [~qianzhang]! I thought the scripts are invoked before we do a read
on the pipe.
But I think [r46807|https://reviews.apache.org/r/46807/] is still valuable
because other isolators (e.g., the docker volume isolator, and the gpu
isolator) might use the script to bind mount additional volumes. Since
filesytem/linux isolator's script is the first to be invoked, any additional
mounts from other isolators under the new rootfs will not be populated into the
container.
> 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)