You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Jay Taylor (JIRA)" <ji...@apache.org> on 2015/10/13 01:06:05 UTC

[jira] [Created] (MESOS-3712) Configuration flags aren't expanded to the corresponding MESOS_ENV variable

Jay Taylor created MESOS-3712:
---------------------------------

             Summary: Configuration flags aren't expanded to the corresponding MESOS_ENV variable
                 Key: MESOS-3712
                 URL: https://issues.apache.org/jira/browse/MESOS-3712
             Project: Mesos
          Issue Type: Bug
          Components: slave
    Affects Versions: 0.25.0, 0.24.1
         Environment: Ubuntu Linux x64
            Reporter: Jay Taylor


Mesos configuration flags are one-way and aren't expanded to their corresponding MESOS_ENV variable.

This can cause various bugs due to lack of env var propagation.

For example:

The MESOS_LAUNCHER_DIR env var does not seem get picked up here: https://github.com/apache/mesos/blob/master/src/docker/executor.cpp#L573-L576:

  const Option<string> envPath = os::getenv("MESOS_LAUNCHER_DIR");
  string path =
    envPath.isSome() ? envPath.get()
                     : os::realpath(Path(argv[0]).dirname()).get();

And argv[0] (which contains the slave work dir) is the path that ends up being used.

I'm having trouble understanding how flags defined in mesos::internal::slave::Flags::Flags (src/slave/flags.[ch]pp) are propagated or expanded to MESOS_<flag_in_caps> environment variables.  Can you confirm if such a mechanism exists and if so where it is?

Otherwise, if my understanding is correct and such a mechanism doesn't exist:

How can the requisite MESOS_LAUNCHER_DIR env var be available when docker/executor.cpp (a child process of mesos-slave) attempts to read it?

----
To which Marco replied:

> Jay:

you hit the nail on the head: the direction is definitely one-way (from
> MESOS_ENV var to Flag) and we don't reflect --flag back into the
> MESOS_FLAG env var.
> Others more familiar with the matter may correct me, but it looks like you
> have uncovered a bug in the executor code: could you please file a Jira for
> us to look into?

> It seems to me that, at present, the only workaround is for you would be to set
> the MESOS_LAUNCHER_DIR env var, as the flag won't be picked by the
> executor.

(Note: I've pasted the above context as I'm not sure if the list picked up all of the exchange)

Here is the relevant discussion thread on the users mailing list:

http://www.mail-archive.com/user@mesos.apache.org/msg04794.html




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)