[ https://issues.apache.org/jira/browse/MESOS-7693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16432898#comment-16432898 ]
Kevin Klues commented on MESOS-7693: ------------------------------------ The underlying mesos implementation of debug containers doesn't allow an exec'd container to inherit environment variables from those defined in the parent container's base docker image. For example, when running the following directly on docker, we see the {{LD_LIBRARY_PATH}} set from the base {{nvidia/cuda}} image inside the exec'd process: {noformat} [klueska@core-dev ~]$ docker run -d nvidia/cuda sleep 99999999 1a78ee1eed45947952bc0a80354d3419423e6d5a52ee43909a54f54e3b751d3e [klueska@core-dev ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1a78ee1eed45 nvidia/cuda "sleep 99999999" 9 seconds ago Up 4 seconds vibrant_volhard [klueska@core-dev ~]$ docker exec -it 1a78ee1eed45 bash -c "echo \$LD_LIBRARY_PATH" /usr/local/nvidia/lib:/usr/local/nvidia/lib64 {noformat} But when running the equivalent on {{dcos}} via marathon: {noformat} $ cat cuda.json { "id": "nvidia-test", "mem": 2048, "disk": 0, "instances": 1, "cmd": "sleep 9999999", "container": { "type": "MESOS", "docker": { "image": "nvidia/cuda" } } } $ dcos marathon app add cuda.json Created deployment 3d02ceb1-519c-4f08-a85c-bb0b8134c630 $ dcos task NAME HOST USER STATE ID MESOS ID REGION ZONE nvidia-test 10.10.0.183 root R nvidia-test.3f941a9f-0a8c-11e8-b838-f638b54f6560 e896367a-8dbe-40d6-9867-1af79b77fb04-S0 us-west-2 us-west-2c $ dcos task exec -it nvidia-test bash -c "echo \$LD_LIBRARY_PATH" {noformat} We need to update the logic for debug containers to inherit this properly: This will likely involve an update to https://github.com/apache/mesos/blob/56100adc14a8acbcf2ee0aae967f758f592fcd31/src/slave/containerizer/mesos/containerizer.cpp#L1613 > DEBUG container does not inherit env variable properly for command tasks. > ------------------------------------------------------------------------- > > Key: MESOS-7693 > URL: https://issues.apache.org/jira/browse/MESOS-7693 > Project: Mesos > Issue Type: Bug > Affects Versions: 1.3.0 > Reporter: Jie Yu > Assignee: Alexander Rukletsov > Priority: Major > > I can repo the issue: > {code} > sudo /home/vagrant/workspace/dist/mesos-1.4.0/bin/mesos-execute > --master=172.28.128.3:5050 --name=java8 --docker_image=java:8 > --command="sleep 1000" > I0618 17:42:21.410598 3356 scheduler.cpp:184] Version: 1.4.0 > I0618 17:42:21.413465 3356 scheduler.cpp:470] New master detected at > master@172.28.128.3:5050 > Subscribed with ID cacf5c08-cbbc-401a-a84d-2cfc4edc6519-0006 > Submitted task 'java8' to agent 'cacf5c08-cbbc-401a-a84d-2cfc4edc6519-S0' > Received status update TASK_RUNNING for task 'java8' > source: SOURCE_EXECUTOR > Jies-MacBook-Pro:script jie$ ./dcos task > NAME HOST USER STATE ID > java8 172.28.128.3 root R java8 > Jies-MacBook-Pro:script jie$ ./dcos task exec -t -i java8 bash > root@vagrant-ubuntu-trusty-64:/mnt/mesos/sandbox# env > LIBPROCESS_IP=172.28.128.3 > MESOS_AGENT_ENDPOINT=172.28.128.3:5051 > MESOS_DIRECTORY=/tmp/mesos/slave/slaves/cacf5c08-cbbc-401a-a84d-2cfc4edc6519-S0/frameworks/cacf5c08-cbbc-401a-a84d-2cfc4edc6519-0006/executors/java8/runs/1b06c661-20f3-460a-8cfd-475dc3e60aa3 > MESOS_EXECUTOR_ID=java8 > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > PWD=/mnt/mesos/sandbox > MESOS_EXECUTOR_SHUTDOWN_GRACE_PERIOD=5secs > MESOS_NATIVE_JAVA_LIBRARY=/home/vagrant/workspace/dist/mesos-1.4.0/lib/libmesos-1.4.0.so > MESOS_NATIVE_LIBRARY=/home/vagrant/workspace/dist/mesos-1.4.0/lib/libmesos-1.4.0.so > MESOS_HTTP_COMMAND_EXECUTOR=0 > MESOS_SLAVE_PID=slave(1)@172.28.128.3:5051 > MESOS_FRAMEWORK_ID=cacf5c08-cbbc-401a-a84d-2cfc4edc6519-0006 > MESOS_CHECKPOINT=0 > SHLVL=1 > LIBPROCESS_PORT=0 > MESOS_SLAVE_ID=cacf5c08-cbbc-401a-a84d-2cfc4edc6519-S0 > MESOS_SANDBOX=/mnt/mesos/sandbox > _=/usr/bin/env > {code} > As you can see, environment variables like JAVA_HOME defined in the docker > image are not in the debug container. -- This message was sent by Atlassian JIRA (v7.6.3#76005)