Skip to content

Commit cf4d31c

Browse files
committed
Address CR Feedback Round container-storage-interface#2-1
Address CR Feedback to node multi call
1 parent 6eec55a commit cf4d31c

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

spec.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ An implementation is compliant if it satisfies all the MUST, REQUIRED, and SHALL
2929
| Node | A host where the user workload will be running, uniquely identifiable from the perspective of a Plugin by a `NodeID`. |
3030
| Plugin | Aka “plugin implementation”, a gRPC endpoint that implements the CSI Services. |
3131
| Plugin Supervisor | Process that governs the lifecycle of a Plugin, MAY be the CO. |
32+
| Workload | The atomic unit of "work" scheduled by a CO. This may be a container or a collection of containers. |
3233

3334
## Objective
3435

@@ -882,8 +883,7 @@ message ControllerServiceCapability {
882883

883884
This RPC is called by the CO when a workload that wants to use the specified volume is placed (scheduled) on a node.
884885
The Plugin SHALL assume that this RPC will be executed on the node where the volume will be used.
885-
This RPC may be called by the CO multiple times: at least once per volume per workload
886-
(in particular, if the same volume is referenced by two different workloads, `NodePublishVolume` will be called twice, once for each workload, with possibly different `target_path` and/or auth credentials).
886+
This RPC MAY be called by the CO multiple times on the same node for the same volume with possibly different `target_path` and/or auth credentials.
887887
If the corresponding Controller Plugin has `PUBLISH_UNPUBLISH_VOLUME` controller capability, the CO MUST guarantee that this RPC is called after `ControllerPublishVolume` is
888888
called for the given volume on the given node and returns a success.
889889

@@ -937,6 +937,8 @@ message NodePublishVolumeResponse {
937937

938938
A Node Plugin MUST implement this RPC call.
939939
This RPC is a reverse operation of `NodePublishVolume`.
940+
This RPC MUST remove any mounts setup by the corresponding `NodePublishVolume`.
941+
This Plugin SHALL assume that this RPC will be executed at least once for each successful `NodePublishVolume` call.
940942
If the corresponding Controller Plugin has `PUBLISH_UNPUBLISH_VOLUME` controller capability, the CO MUST guarantee that this RPC is called before `ControllerUnpublishVolume` is called for the given node and the given volume.
941943
The Plugin SHALL assume that this RPC will be executed on the node where the volume is being used.
942944

0 commit comments

Comments
 (0)