Skip to content

Commit 43405ec

Browse files
committed
Single node single/multi writer access modes
1 parent 5914b37 commit 43405ec

File tree

3 files changed

+361
-247
lines changed

3 files changed

+361
-247
lines changed

Diff for: csi.proto

+32
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,18 @@ message VolumeCapability {
420420
// Can be published as read/write at multiple nodes
421421
// simultaneously.
422422
MULTI_NODE_MULTI_WRITER = 5;
423+
424+
// Can only be published once as read/write at a single workload
425+
// on a single node, at any given time. Should be used instead of
426+
// SINGLE_NODE_WRITER for COs using the experimental
427+
// SINGLE_NODE_MULTI_WRITER capability.
428+
SINGLE_NODE_SINGLE_WRITER = 6 [(alpha_enum_value) = true];
429+
430+
// Can be published as read/write at multiple workloads on a
431+
// single node simultaneously. Should be used instead of
432+
// SINGLE_NODE_WRITER for COs using the experimental
433+
// SINGLE_NODE_MULTI_WRITER capability.
434+
SINGLE_NODE_MULTI_WRITER = 7 [(alpha_enum_value) = true];
423435
}
424436

425437
// This field is REQUIRED.
@@ -1044,6 +1056,16 @@ message ControllerServiceCapability {
10441056
// This enables COs to, for example, fetch per volume
10451057
// condition after a volume is provisioned.
10461058
GET_VOLUME = 12 [(alpha_enum_value) = true];
1059+
1060+
// Indicates the SP supports the SINGLE_NODE_SINGLE_WRITER and/or
1061+
// SINGLE_NODE_MULTI_WRITER access modes.
1062+
// These access modes are intended to replace the
1063+
// SINGLE_NODE_WRITER access mode to clarify the number of writers
1064+
// for a volume on a single node. Plugins MUST accept and allow
1065+
// use of the SINGLE_NODE_WRITER access mode when either
1066+
// SINGLE_NODE_SINGLE_WRITER and/or SINGLE_NODE_MULTI_WRITER are
1067+
// supported, in order to permit older COs to continue working.
1068+
SINGLE_NODE_MULTI_WRITER = 13 [(alpha_enum_value) = true];
10471069
}
10481070

10491071
Type type = 1;
@@ -1476,6 +1498,16 @@ message NodeServiceCapability {
14761498
// Note that, for alpha, `VolumeCondition` is intended to be
14771499
// informative for humans only, not for automation.
14781500
VOLUME_CONDITION = 4 [(alpha_enum_value) = true];
1501+
// Indicates the SP supports the SINGLE_NODE_SINGLE_WRITER and/or
1502+
// SINGLE_NODE_MULTI_WRITER access modes.
1503+
// These access modes are intended to replace the
1504+
// SINGLE_NODE_WRITER access mode to clarify the number of writers
1505+
// for a volume on a single node. Plugins MUST accept and allow
1506+
// use of the SINGLE_NODE_WRITER access mode (subject to the
1507+
// processing rules for NodePublishVolume), when either
1508+
// SINGLE_NODE_SINGLE_WRITER and/or SINGLE_NODE_MULTI_WRITER are
1509+
// supported, in order to permit older COs to continue working.
1510+
SINGLE_NODE_MULTI_WRITER = 5 [(alpha_enum_value) = true];
14791511
}
14801512

14811513
Type type = 1;

0 commit comments

Comments
 (0)