[
https://issues.apache.org/jira/browse/MESOS-7007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16129526#comment-16129526
]
R.B. Boyer commented on MESOS-7007:
-----------------------------------
Also from my parsing of the master branch today
(`git:3587ca14c81c61949239698539df3e67774c9071`) the affected code moved to
`src/slave/slave.cpp` and still has the same underlying bug:
{code}
// Add the default container info to the executor info.
// TODO(jieyu): Rename the flag to be default_mesos_container_info.
if (!executorInfo_.has_container() &&
flags.default_container_info.isSome()) {
executorInfo_.mutable_container()->CopyFrom(
flags.default_container_info.get());
}
// Bundle all the container launch fields together.
ContainerConfig containerConfig;
containerConfig.mutable_executor_info()->CopyFrom(executorInfo_);
containerConfig.mutable_command_info()->CopyFrom(executorInfo_.command());
containerConfig.mutable_resources()->CopyFrom(executorInfo_.resources());
containerConfig.set_directory(executor->directory);
if (executor->user.isSome()) {
containerConfig.set_user(executor->user.get());
}
if (executor->isCommandExecutor()) {
if (taskInfo.isSome()) {
containerConfig.mutable_task_info()->CopyFrom(taskInfo.get());
if (taskInfo.get().has_container()) {
containerConfig.mutable_container_info()
->CopyFrom(taskInfo.get().container());
}
}
} else {
if (executorInfo_.has_container()) {
containerConfig.mutable_container_info()
->CopyFrom(executorInfo_.container());
}
}
{code}
> filesystem/shared and --default_container_info broken since 1.1
> ---------------------------------------------------------------
>
> Key: MESOS-7007
> URL: https://issues.apache.org/jira/browse/MESOS-7007
> Project: Mesos
> Issue Type: Bug
> Components: agent
> Affects Versions: 1.1.0, 1.2.0
> Reporter: Pierre Cheynier
> Assignee: Chun-Hung Hsiao
> Labels: storage
>
> I face this issue, that prevent me to upgrade to 1.1.0 (and the change was
> consequently introduced in this version):
> I'm using default_container_info to mount a /tmp volume in the container's
> mount namespace from its current sandbox, meaning that each container have a
> dedicated /tmp, thanks to the {{filesystem/shared}} isolator.
> I noticed through our automation pipeline that integration tests were failing
> and found that this is because /tmp (the one from the host!) contents is
> trashed each time a container is created.
> Here is my setup:
> *
> {{--isolation='cgroups/cpu,cgroups/mem,namespaces/pid,*disk/du,filesystem/shared,filesystem/linux*,docker/runtime'}}
> *
> {{--default_container_info='\{"type":"MESOS","volumes":\[\{"host_path":"tmp","container_path":"/tmp","mode":"RW"\}\]\}'}}
> I discovered this issue in the early days of 1.1 (end of Nov, spoke with
> someone on Slack), but had unfortunately no time to dig into the symptoms a
> bit more.
> I found nothing interesting even using GLOGv=3.
> Maybe it's a bad usage of isolators that trigger this issue ? If it's the
> case, then at least a documentation update should be done.
> Let me know if more information is needed.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)