[ https://issues.apache.org/jira/browse/MESOS-7429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15985347#comment-15985347 ]
Till Toenshoff commented on MESOS-7429: --------------------------------------- The solution draft here is the following: - add a new member to {{ContainerLaunchInfo}} which is called {{task_environment}} - add code for merging such environments returned by the active isolators in the containerizer - pass the result to the command executor via its {{task_environment}} > Allow isolators to inject task-specific environment variables. > -------------------------------------------------------------- > > Key: MESOS-7429 > URL: https://issues.apache.org/jira/browse/MESOS-7429 > Project: Mesos > Issue Type: Improvement > Affects Versions: 1.2.0 > Reporter: Till Toenshoff > Labels: containerizer, isolator, mesosphere > > For command tasks, we currently have no way for isolators to inject task > specific environments into data path. > Isolators in their {{prepare}} implementation can return a > {{ContainerLaunchInfo}} which currently supports setting the member > {{environment}} - but that is effective for the executor already and will get > inherited by the task environment. > Given that the command-executor is active in the host-fs context but the task > may be running in a container-fs context ({{has_rootfs=true}}), using the > above will possibly cause failures, depending on the nature of the variables > set -- consider e.g. {{LD_LIBRARY_PATH}} as a fatal one. > The command-executor does support the flag {{task_environment}} to receive > environment variables which are meant exclusively for the task itself but not > the executor. > Runtime isolators (docker/runtime, appc/runtime) already make use of this > flag. However, they do it in a way that is a bit unfortunate as it does not > allow for other isolators to make use of it - there is no merging taking > place in the containerizer. -- This message was sent by Atlassian JIRA (v6.3.15#6346)