[
https://issues.apache.org/jira/browse/MESOS-3836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14996105#comment-14996105
]
Michael Gummelt edited comment on MESOS-3836 at 11/9/15 6:42 AM:
-----------------------------------------------------------------
If we decide to keep the existing functionality, my proposal is to have both
{{executor-environment-variables}} and something like
{{inherited-environment-variables}} or {{host-environment-variables}}. The
former would set env vars on all executors. The latter would set the inherited
environment for containers, which would only apply to those containerizers that
inherit the host environment (mesos and external)
was (Author: mgummelt):
If we decide to keep the existing functionality, my proposal is to have both
{{-executor-environment-variables}} and something like
{{--inherited-environment-variables}} or {{-host-environment-variables}}. The
former would set env vars on all executors. The latter would set the inherited
environment for containers, which would only apply to those containerizers that
inherit the host environment (mesos and external)
> `--executor-environment-variables` may not apply to docker containers
> ---------------------------------------------------------------------
>
> Key: MESOS-3836
> URL: https://issues.apache.org/jira/browse/MESOS-3836
> Project: Mesos
> Issue Type: Bug
> Components: containerization, slave
> Affects Versions: 0.25.0
> Environment: Mesos 0.25.0 configured with
> --executor-environment-variables
> Reporter: Cody Maloney
> Assignee: Marco Massenzio
> Priority: Minor
> Labels: mesosphere
>
> In our use case we set {{PATH}} as part of the
> {{\-\-executor_environment_variables}} in order to limit what binaries all
> tasks which are launched via Mesos have readily available to them, making it
> much harder for people launching tasks on mesos to accidentally depend on
> something which isn't part of the "guaranteed" environment / platform.
> Docker containers can be used as executors, and have a fully isolated
> filesystem. For executors which run in docker containers setting {{PATH}} to
> our path on the host filesystem may potentially break the docker container.
> The previous code of only copying across environment variables when
> {{includeOsEnvironment}} is set dealt with this
> (https://github.com/apache/mesos/blob/56510afe149758a69a5a714dfaab16111dd0d9c3/src/slave/containerizer/containerizer.cpp#L267)
> if {{includeOsEnvironment}} is set than we should copy across the current
> {{\-\-executor_environment_variables}}. If it isn't, then
> {{\-\-executor_environment_variables}} shouldn't be used at all.
> Another option which could be useful is to make it so that there are two sets
> of "Executor Environment Variables". One for when {{includeOsEnvironment}} is
> set, and one for when it is not.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)