[ 
https://issues.apache.org/jira/browse/MESOS-7550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chun-Hung Hsiao updated MESOS-7550:
-----------------------------------
    Description: 
The agent will ask RP manager to publish the resources before container can 
start to use them. SLRP (storage local resource provider) will be responsible 
for making sure the CSI volume is made available on the host. This will involve 
calling `ControllerPublishVolume` and `NodePublishVolume` RPCs from the CSI 
Plugin.

This will happen when a workload (i.e., task/executor) are being launched on 
the agent that uses a CSI volume as a persistent volume. During the creation of 
a CSI volume, the SLRP will generate a fixed mount point under the agent's work 
directory based on the ID of the CSI volume, and store the mount point in the 
`Resource.disk.source.path.root` or `Resource.disk.source.path.mount` fields. 
Prior to a workload launch, SLRP will mount the CSI volume to the same path, 
then the Docker containerizer or the Mesos containerizer will again bind-mount 
the volume into the container of the workload. Since the containerizers know 
nothing about the resource providers, it would extract the mount point of the 
CSI volume from the `Resource.disk.source.path.root` or 
`Resource.disk.source.path.mount` fields.

For storage local resource provider, the agent's work directory is known during 
the creation of the CSI volume since it will be created an used on the same 
agent. However, in the case of a storage external resource provider, where a 
CSI volume might be created on one agent X and published on another agent Y, 
the work directory of agent Y might not be known at the creation of a CSI 
volume on X. To support it in the future, we introduce new semantics for 
`Resource.disk.source.path.root` and `Resource.disk.source.path.mount`, such 
that if these fields are set to relative paths, they are relative to the 
agent's work directory, so the containerizer can extract the mount point by 
prefixing the relative paths with the agent's work directory.

  was:
The agent will ask RP manager to publish the resources before container can 
start to use them. SLRP (storage local resource provider) will be responsible 
for making sure the CSI volume is made available on the host. This will involve 
calling `ControllerPublishVolume` and `NodePublishVolume` RPCs from the CSI 
Plugin.

This will happen when a workload (i.e., task/executor) are being launched on 
the agent that uses a CSI volume.


> Publish Local Resource Provider resources in the agent before container 
> launch or update.
> -----------------------------------------------------------------------------------------
>
>                 Key: MESOS-7550
>                 URL: https://issues.apache.org/jira/browse/MESOS-7550
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Jie Yu
>            Assignee: Chun-Hung Hsiao
>              Labels: mesosphere, storage
>             Fix For: 1.5.0
>
>
> The agent will ask RP manager to publish the resources before container can 
> start to use them. SLRP (storage local resource provider) will be responsible 
> for making sure the CSI volume is made available on the host. This will 
> involve calling `ControllerPublishVolume` and `NodePublishVolume` RPCs from 
> the CSI Plugin.
> This will happen when a workload (i.e., task/executor) are being launched on 
> the agent that uses a CSI volume as a persistent volume. During the creation 
> of a CSI volume, the SLRP will generate a fixed mount point under the agent's 
> work directory based on the ID of the CSI volume, and store the mount point 
> in the `Resource.disk.source.path.root` or `Resource.disk.source.path.mount` 
> fields. Prior to a workload launch, SLRP will mount the CSI volume to the 
> same path, then the Docker containerizer or the Mesos containerizer will 
> again bind-mount the volume into the container of the workload. Since the 
> containerizers know nothing about the resource providers, it would extract 
> the mount point of the CSI volume from the `Resource.disk.source.path.root` 
> or `Resource.disk.source.path.mount` fields.
> For storage local resource provider, the agent's work directory is known 
> during the creation of the CSI volume since it will be created an used on the 
> same agent. However, in the case of a storage external resource provider, 
> where a CSI volume might be created on one agent X and published on another 
> agent Y, the work directory of agent Y might not be known at the creation of 
> a CSI volume on X. To support it in the future, we introduce new semantics 
> for `Resource.disk.source.path.root` and `Resource.disk.source.path.mount`, 
> such that if these fields are set to relative paths, they are relative to the 
> agent's work directory, so the containerizer can extract the mount point by 
> prefixing the relative paths with the agent's work directory.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to