mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Schwartzmeyer <and...@schwartzmeyer.com>
Subject Re: Review Request 64570: Windows: Temporarily fixed the docker executor.
Date Tue, 09 Jan 2018 17:58:11 GMT

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




src/slave/containerizer/docker.cpp
Lines 1464-1468 (patched)
<https://reviews.apache.org/r/64570/#comment274177>

    The why: Mesos sets an explicit environment for executor's so that it is in full control.
The flag `--executor_environment_variables=VALUE` is supposed to be used to pass any user-required
environment variables to the executor. That said, for the Docker executor this does not seem
to make sense, as the Docker containers perform the "environment isolation". This was working
almost by happenstance on Linux because it's expected that all programs add themselves to
the default path (like /bin), but this isn't true on Windows. Instead, the convention is to
modify the system's or user's `PATH` to include e.g. `docker`, and to never expect it to end
up in the "default" `PATH`. This is kind of documented [here](https://mesos.apache.org/documentation/latest/configuration/agent/),
and it's confirmed by some answers on Stack Overflow and some JIRA issues, but it still doesn't
make sense for the Docker executor on Windows.
    
    Perhaps, instead of `ifndef`ing this, we should do `path::join(os::host_default_path(),
"C:\Program Files\Docker\Docker\Resources\bin\"` (and verify that is the expected location
of `docker`.


- Andrew Schwartzmeyer


On Jan. 4, 2018, 4:32 p.m., Akash Gupta wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/64570/
> -----------------------------------------------------------
> 
> (Updated Jan. 4, 2018, 4:32 p.m.)
> 
> 
> Review request for mesos, Alexander Rukletsov, Andrew Schwartzmeyer, Gaston Kleiman,
Jie Yu, and Michael Park.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> The docker executor was setting its `PATH` through
> `os::host_default_path()`, so it could not find the docker executable.
> Now, on Windows, the docker executor inherits the environment variables
> from the agent. Further investigation needs to be done on why `PATH`
> was this way and if the docker executor could simply inherit the
> agent's environment.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/docker.cpp 890cb2aba44fe76e891117833eac8ccca00b759b 
> 
> 
> Diff: https://reviews.apache.org/r/64570/diff/2/
> 
> 
> Testing
> -------
> 
> See https://reviews.apache.org/r/64386/
> 
> 
> Thanks,
> 
> Akash Gupta
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message