Skip to content

Commit

Permalink
Update wording for new files
Browse files Browse the repository at this point in the history
Also relax NodeStageVolume and NodePublishVolume using same
volume_mount_group field
  • Loading branch information
gnufied committed Mar 3, 2021
1 parent 94346e3 commit ff3cecc
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 69 deletions.
49 changes: 26 additions & 23 deletions csi.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1226,13 +1226,15 @@ message NodeStageVolumeRequest {
map<string, string> volume_context = 6;

// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
// this field then SP MUST ensure that volume is mounted with
// provided volume_mount_group and all files and directories
// within the volume are readable and writable by the provided
// volume_mount_group.
// The value of volume_mount_group should be group
// identifier (as determined by underlying operating system)
// which would be associated with workload that uses the volume.
// this field then SP MUST ensure that the volume_mount_group
// parameter is passed as the group identifier to the underlying
// operating system mount system call, with the understanding
// that the set of available mount call parameters and/or
// mount implementations may vary across operating systems.
// Additionally, new file and/or directory entries written to
// the underlying filesystem SHOULD be permission-labeled in such a
// manner, unless otherwise modified by a workload, that they are
// both readable and writable by said mount group identifier.
// This is an OPTIONAL field.
string volume_mount_group = 7;
}
Expand Down Expand Up @@ -1307,23 +1309,24 @@ message NodePublishVolumeRequest {
// volume identified by `volume_id`.
map<string, string> volume_context = 8;


// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
// this field then SP MUST ensure that volume is mounted with
// provided volume_mount_group and all files and directories
// within the volume are readable and writable by the provided
// volume_mount_group.
// If NodeStageVolume was previously called with volume_mount_group
// CO MUST ensure that NodePublishVolume uses the same
// volume_mount_group for the same volume_id.
// If Plugin does not have `STAGE_UNSTAGE_VOLUME` capability the CO
// MAY call NodePublishVolume with different volume_mount_group and
// target_path for same volume_id.
// If a Plugin does not support multiple calls of NodePublishVolume
// with different volume_mount_group and target_path for same volume
// on same node - it MAY return FAILED_PRECONDITION error.
// The value of volume_mount_group should be group
// identifier (as determined by underlying operating system)
// which would be associated with workload that uses the volume.
// this field then SP MUST ensure that the volume_mount_group
// parameter is passed as the group identifier to the underlying
// operating system mount system call, with the understanding
// that the set of available mount call parameters and/or
// mount implementations may vary across operating systems.
// Additionally, new file and/or directory entries written to
// the underlying filesystem SHOULD be permission-labeled in such a
// manner, unless otherwise modified by a workload, that they are
// both readable and writable by said mount group identifier.
//
// If Plugin does not support NodePublishVolume with different
// volume_mount_group than the one used during NodeStageVolume
// then Plugin MAY return FAILED_PRECONDITION error.
// Similarly if SP does not support NodePublishVolume of same volume
// on same node but with different volume_mount_group it MAY return
// FAILED_PRECONDITION error.
// This is an OPTIONAL field.
string volume_mount_group = 9;
}
Expand Down
48 changes: 25 additions & 23 deletions lib/go/csi/csi.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

49 changes: 26 additions & 23 deletions spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -2093,13 +2093,15 @@ message NodeStageVolumeRequest {
map<string, string> volume_context = 6;
// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
// this field then SP MUST ensure that volume is mounted with
// provided volume_mount_group and all files and directories
// within the volume are readable and writable by the provided
// volume_mount_group.
// The value of volume_mount_group should be group
// identifier (as determined by underlying operating system)
// which would be associated with workload that uses the volume.
// this field then SP MUST ensure that the volume_mount_group
// parameter is passed as the group identifier to the underlying
// operating system mount system call, with the understanding
// that the set of available mount call parameters and/or
// mount implementations may vary across operating systems.
// Additionally, new file and/or directory entries written to
// the underlying filesystem SHOULD be permission-labeled in such a
// manner, unless otherwise modified by a workload, that they are
// both readable and writable by said mount group identifier.
// This is an OPTIONAL field.
string volume_mount_group = 7;
}
Expand Down Expand Up @@ -2256,23 +2258,24 @@ message NodePublishVolumeRequest {
// volume identified by `volume_id`.
map<string, string> volume_context = 8;
// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
// this field then SP MUST ensure that volume is mounted with
// provided volume_mount_group and all files and directories
// within the volume are readable and writable by the provided
// volume_mount_group.
// If NodeStageVolume was previously called with volume_mount_group
// CO MUST ensure that NodePublishVolume uses the same
// volume_mount_group for the same volume_id.
// If Plugin does not have `STAGE_UNSTAGE_VOLUME` capability the CO
// MAY call NodePublishVolume with different volume_mount_group and
// target_path for same volume_id.
// If a Plugin does not support multiple calls of NodePublishVolume
// with different volume_mount_group and target_path for same volume
// on same node - it MAY return FAILED_PRECONDITION error.
// The value of volume_mount_group should be group
// identifier (as determined by underlying operating system)
// which would be associated with workload that uses the volume.
// this field then SP MUST ensure that the volume_mount_group
// parameter is passed as the group identifier to the underlying
// operating system mount system call, with the understanding
// that the set of available mount call parameters and/or
// mount implementations may vary across operating systems.
// Additionally, new file and/or directory entries written to
// the underlying filesystem SHOULD be permission-labeled in such a
// manner, unless otherwise modified by a workload, that they are
// both readable and writable by said mount group identifier.
//
// If Plugin does not support NodePublishVolume with different
// volume_mount_group than the one used during NodeStageVolume
// then Plugin MAY return FAILED_PRECONDITION error.
// Similarly if SP does not support NodePublishVolume of same volume
// on same node but with different volume_mount_group it MAY return
// FAILED_PRECONDITION error.
// This is an OPTIONAL field.
string volume_mount_group = 9;
}
Expand Down

0 comments on commit ff3cecc

Please sign in to comment.