@@ -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