[
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)