Skip to content

Commit c1a9ffe

Browse files
committed
Update wording for new files
Also relax NodeStageVolume and NodePublishVolume using same volume_mount_group field
1 parent 1a50de3 commit c1a9ffe

File tree

2 files changed

+52
-56
lines changed

2 files changed

+52
-56
lines changed

csi.proto

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1266,13 +1266,15 @@ message NodeStageVolumeRequest {
12661266
map<string, string> volume_context = 6;
12671267

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

1364+
13621365
// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
1363-
// this field then SP MUST ensure that volume is mounted with
1364-
// provided volume_mount_group and all files and directories
1365-
// within the volume are readable and writable by the provided
1366-
// volume_mount_group.
1367-
// If NodeStageVolume was previously called with volume_mount_group
1368-
// CO MUST ensure that NodePublishVolume uses the same
1369-
// volume_mount_group for the same volume_id.
1370-
// If Plugin does not have `STAGE_UNSTAGE_VOLUME` capability the CO
1371-
// MAY call NodePublishVolume with different volume_mount_group and
1372-
// target_path for same volume_id.
1373-
// If a Plugin does not support multiple calls of NodePublishVolume
1374-
// with different volume_mount_group and target_path for same volume
1375-
// on same node - it MAY return FAILED_PRECONDITION error.
1376-
// The value of volume_mount_group should be group
1377-
// identifier (as determined by underlying operating system)
1378-
// which would be associated with workload that uses the volume.
1366+
// this field then SP MUST ensure that the volume_mount_group
1367+
// parameter is passed as the group identifier to the underlying
1368+
// operating system mount system call, with the understanding
1369+
// that the set of available mount call parameters and/or
1370+
// mount implementations may vary across operating systems.
1371+
// Additionally, new file and/or directory entries written to
1372+
// the underlying filesystem SHOULD be permission-labeled in such a
1373+
// manner, unless otherwise modified by a workload, that they are
1374+
// both readable and writable by said mount group identifier.
1375+
//
1376+
// If Plugin does not support NodePublishVolume with different
1377+
// volume_mount_group than the one used during NodeStageVolume
1378+
// then Plugin MAY return FAILED_PRECONDITION error.
1379+
// Similarly if SP does not support NodePublishVolume of same volume
1380+
// on same node but with different volume_mount_group it MAY return
1381+
// FAILED_PRECONDITION error.
13791382
// This is an OPTIONAL field.
13801383
string volume_mount_group = 9;
13811384
}
@@ -1510,11 +1513,6 @@ message NodeServiceCapability {
15101513
// Indicates that Node service supports mounting volumes
15111514
// with provided volume group identifier during node stage
15121515
// or node publish RPC calls.
1513-
// SP MUST use provided volume_mount_group for mounting the
1514-
// volume and volume MUST remain readable and writable by
1515-
// workloads associated with volume_mount_group until
1516-
// corresponding NodeUnstageVolume or NodeUnpublishVolume is
1517-
// called.
15181516
VOLUME_MOUNT_GROUP = 5 [(alpha_enum_value) = true];
15191517
}
15201518

spec.md

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2136,13 +2136,15 @@ message NodeStageVolumeRequest {
21362136
map<string, string> volume_context = 6;
21372137
21382138
// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
2139-
// this field then SP MUST ensure that volume is mounted with
2140-
// provided volume_mount_group and all files and directories
2141-
// within the volume are readable and writable by the provided
2142-
// volume_mount_group.
2143-
// The value of volume_mount_group should be group
2144-
// identifier (as determined by underlying operating system)
2145-
// which would be associated with workload that uses the volume.
2139+
// this field then SP MUST ensure that the volume_mount_group
2140+
// parameter is passed as the group identifier to the underlying
2141+
// operating system mount system call, with the understanding
2142+
// that the set of available mount call parameters and/or
2143+
// mount implementations may vary across operating systems.
2144+
// Additionally, new file and/or directory entries written to
2145+
// the underlying filesystem SHOULD be permission-labeled in such a
2146+
// manner, unless otherwise modified by a workload, that they are
2147+
// both readable and writable by said mount group identifier.
21462148
// This is an OPTIONAL field.
21472149
string volume_mount_group = 7;
21482150
}
@@ -2311,23 +2313,24 @@ message NodePublishVolumeRequest {
23112313
// volume identified by `volume_id`.
23122314
map<string, string> volume_context = 8;
23132315
2316+
23142317
// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
2315-
// this field then SP MUST ensure that volume is mounted with
2316-
// provided volume_mount_group and all files and directories
2317-
// within the volume are readable and writable by the provided
2318-
// volume_mount_group.
2319-
// If NodeStageVolume was previously called with volume_mount_group
2320-
// CO MUST ensure that NodePublishVolume uses the same
2321-
// volume_mount_group for the same volume_id.
2322-
// If Plugin does not have `STAGE_UNSTAGE_VOLUME` capability the CO
2323-
// MAY call NodePublishVolume with different volume_mount_group and
2324-
// target_path for same volume_id.
2325-
// If a Plugin does not support multiple calls of NodePublishVolume
2326-
// with different volume_mount_group and target_path for same volume
2327-
// on same node - it MAY return FAILED_PRECONDITION error.
2328-
// The value of volume_mount_group should be group
2329-
// identifier (as determined by underlying operating system)
2330-
// which would be associated with workload that uses the volume.
2318+
// this field then SP MUST ensure that the volume_mount_group
2319+
// parameter is passed as the group identifier to the underlying
2320+
// operating system mount system call, with the understanding
2321+
// that the set of available mount call parameters and/or
2322+
// mount implementations may vary across operating systems.
2323+
// Additionally, new file and/or directory entries written to
2324+
// the underlying filesystem SHOULD be permission-labeled in such a
2325+
// manner, unless otherwise modified by a workload, that they are
2326+
// both readable and writable by said mount group identifier.
2327+
//
2328+
// If Plugin does not support NodePublishVolume with different
2329+
// volume_mount_group than the one used during NodeStageVolume
2330+
// then Plugin MAY return FAILED_PRECONDITION error.
2331+
// Similarly if SP does not support NodePublishVolume of same volume
2332+
// on same node but with different volume_mount_group it MAY return
2333+
// FAILED_PRECONDITION error.
23312334
// This is an OPTIONAL field.
23322335
string volume_mount_group = 9;
23332336
}
@@ -2540,11 +2543,6 @@ message NodeServiceCapability {
25402543
// Indicates that Node service supports mounting volumes
25412544
// with provided volume group identifier during node stage
25422545
// or node publish RPC calls.
2543-
// SP MUST use provided volume_mount_group for mounting the
2544-
// volume and volume MUST remain readable and writable by
2545-
// workloads associated with volume_mount_group until
2546-
// corresponding NodeUnstageVolume or NodeUnpublishVolume is
2547-
// called.
25482546
VOLUME_MOUNT_GROUP = 5 [(alpha_enum_value) = true];
25492547
}
25502548

0 commit comments

Comments
 (0)