Skip to content

Commit

Permalink
Clarify staging and target paths for blocks
Browse files Browse the repository at this point in the history
The vague wording around the staging and target paths left open too
many possible implementations for raw block volumes, and implementors
ended up doing non-obvious things. This change clarifies the contract
between the CO and the SP when staging and publishing raw block volumes
on the node.
  • Loading branch information
bswartz committed Nov 14, 2018
1 parent 7673c23 commit d638e75
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 95 deletions.
17 changes: 9 additions & 8 deletions csi.proto
Original file line number Diff line number Diff line change
Expand Up @@ -980,11 +980,10 @@ message NodeStageVolumeRequest {

// The path to which the volume MAY be staged. It MUST be an
// absolute path in the root filesystem of the process serving this
// request. The CO SHALL ensure that there is only one
// `staging_target_path` per volume. The CO SHALL ensure that the
// process serving the request has `read` and `write` permission to
// the path, and is able to create files or directories at the path
// if it does not exist.
// request, and MUST be a directory. The CO SHALL ensure that there
// is only one `staging_target_path` per volume. The CO SHALL ensure
// that the path is an existing directory and that process serving the
// request has `read` and `write` permission to the directory.
// This is a REQUIRED field.
string staging_target_path = 3;

Expand Down Expand Up @@ -1043,9 +1042,11 @@ message NodePublishVolumeRequest {
// The path to which the volume will be published. It MUST be an
// absolute path in the root filesystem of the process serving this
// request. The CO SHALL ensure uniqueness of target_path per volume.
// The CO SHALL ensure that the process serving the request has
// `read` and `write` permissions to the path, and is able to create
// files or directories at the path if it does not exist.
// The CO SHALL ensure that the path exists and that the process
// serving the request has `read` and `write` permissions to the path.
// For volumes with an access type of block, the path MUST be a file.
// For volumes with an access type of mount, the path MUST be a
// directory. The SP SHALL bind mount the volume to the target path.
// This is a REQUIRED field.
string target_path = 4;

Expand Down
Loading

0 comments on commit d638e75

Please sign in to comment.