[ 
https://issues.apache.org/jira/browse/MESOS-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16359162#comment-16359162
 ] 

Qian Zhang commented on MESOS-8565:
-----------------------------------

The root cause of this issue is, when user uses DC/OS (actually Marathon) to 
launch a pod and specify a PV for the container inside of the pod to use, 
actually the executor will have a disk resource which uses that PV and Marathon 
will create the PV and mount it into the executor's sandbox, and the task info 
created by Marathon will have a `SANDBOX_PATH` volume with type `PARENT` (like 
below) so the task can share the PV with the executor.
{code:java}
      "container": {
        "type": "MESOS",
        "volumes": [
          {
            "mode": "RW",
            "container_path": "xxx",
            "source": {
              "type": "SANDBOX_PATH",
              "sandbox_path": {
                "type": "PARENT",
                "path": "foo"
              }
            }
          }
        ]
      }
{code}
In this case, the fix to MESOS-8279 will not do the file attach since it can 
only handle the case of task using persistent volume disk resource, see [this 
code|https://github.com/apache/mesos/blob/32b85a2b06f676b68a16deaa8359ae64a1e8ead9/src/slave/slave.cpp#L1035:L1039]
 for details.

To fix this issue, I think we need to improve 
{{Slave::attachTaskVolumeDirectory}} to handle the task whose {{containerInfo}} 
has a `SANDBOX_PATH` volume with type `PARENT`, for such task, we should also 
call {{Files::attach()}} to attach the executor's volume path to the task's 
volume path.

> Persistent volumes are not visible in Mesos UI when launching a pod in DC/OS
> ----------------------------------------------------------------------------
>
>                 Key: MESOS-8565
>                 URL: https://issues.apache.org/jira/browse/MESOS-8565
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 1.2.2, 1.3.1, 1.4.1
>            Reporter: Qian Zhang
>            Assignee: Qian Zhang
>            Priority: Major
>
> When user launches a pod to use a persistent volume in DC/OS, the nested 
> containers in the pod can access the PV successfully and the PV directory of 
> the executor shown in Mesos UI has all the contents written by the tasks, but 
> the PV directory of the tasks shown in DC/OS UI and Mesos UI is empty.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to