> On Sept. 7, 2016, 1 a.m., Joseph Wu wrote:
> > src/slave/containerizer/mesos/isolators/network/cni/cni.cpp, lines 1540-1542
> > <https://reviews.apache.org/r/51643/diff/2/?file=1491981#file1491981line1540>
> >
> >     Given that this case is very specific for systems without a dependency 
> > on `/etc/hosts` or `/etc/hostname`, would it make sense to create the files 
> > in the agent's work directory?  i.e. to avoid polluting the host?

We create these files in the agents work directory as well (a directory 
specific to the `network/cni` isolator). The reason we create these files 
specifically in the host fs is for the `executor` and containers that don't 
have their own images. Reason being that both these entities see the host file 
system, albiet with a different mount name space. Also, since the hostname and 
IP address is different from the hosts IP and hostname, we need to give them a 
different view of the /etc/hosts and /etc/hostname files. We do this by bind 
mounting the files from the containers work dir on to these target mount points 
on the host file system. 

We do the same operation below for the containers rootfs as well. However, in 
case of the containers rootfs we are guaranteed that these mount points exist 
(if not we can create them).


- Avinash


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/51643/#review147956
-----------------------------------------------------------


On Sept. 6, 2016, 9:09 p.m., Avinash sridharan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/51643/
> -----------------------------------------------------------
> 
> (Updated Sept. 6, 2016, 9:09 p.m.)
> 
> 
> Review request for mesos, Gilbert Song, Jie Yu, Joseph Wu, and Qian Zhang.
> 
> 
> Bugs: MESOS-6052
>     https://issues.apache.org/jira/browse/MESOS-6052
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> In case /etc/hosts and /etc/hostname files are not present in the host
> filesystem, we were ignoring these files and assuming that they would
> not be required by the executor when it is launched in a new network
> namespace. This assumption is incorrect, since the executor needs
> /etc/hosts in the new network namespace to resolve its hostname.
> Hence, we are explicitly creating these files in the host file system
> in case they are not present, so that containers /etc/hosts and
> /etc/hostname can be mounted on these mount points. This solves the
> problem in distributions such as CoreOS that don't have /etc/hosts in
> their host filesystem.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/network/cni/cni.cpp 
> d17a45fe17bb74cbf9ae421dc8a492e5dc5f1a00 
> 
> Diff: https://reviews.apache.org/r/51643/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> Also, build an open DC/OS image with this patch to run on CoreOS and tried 
> launch a unified containerizer through Marathon using dcos-cli to test this 
> patch on CoreOS.
> 
> 
> Thanks,
> 
> Avinash sridharan
> 
>

Reply via email to