@@ -788,7 +788,7 @@ message ControllerUnpublishVolumeRequest {
788788 // This field is OPTIONAL. Refer to the `Secrets Requirements`
789789 // section on how to use this field.
790790 map <string , string > secrets = 3 [(csi_secret) = true ];
791-
791+
792792 // Indicates SP MUST make the volume inacessible to the node or nodes
793793 // it is being unpublished from. Any attempt to read or write data
794794 // to a volume from a node that has been fenced MUST NOT succeed,
@@ -798,7 +798,7 @@ message ControllerUnpublishVolumeRequest {
798798 // The SP MAY make the volume inaccessible even when this field is
799799 // false.
800800 // This is an OPTIONAL field.
801- bool fence = 4 ;
801+ bool fence = 4 [ (alpha_field) = true ] ;
802802}
803803
804804message ControllerUnpublishVolumeResponse {
@@ -1081,6 +1081,7 @@ message ControllerServiceCapability {
10811081 // condition after a volume is provisioned.
10821082 GET_VOLUME = 12 [(alpha_enum_value) = true ];
10831083
1084+
10841085 // Indicates the SP supports the SINGLE_NODE_SINGLE_WRITER and/or
10851086 // SINGLE_NODE_MULTI_WRITER access modes.
10861087 // These access modes are intended to replace the
@@ -1090,6 +1091,10 @@ message ControllerServiceCapability {
10901091 // SINGLE_NODE_SINGLE_WRITER and/or SINGLE_NODE_MULTI_WRITER are
10911092 // supported, in order to permit older COs to continue working.
10921093 SINGLE_NODE_MULTI_WRITER = 13 [(alpha_enum_value) = true ];
1094+
1095+ // Indicates the SP supports ControllerUnpublishVolume.fence
1096+ // field.
1097+ UNPUBLISH_FENCE = 14 [(alpha_enum_value) = true ];
10931098 }
10941099
10951100 Type type = 1 ;
@@ -1327,13 +1332,13 @@ message NodeUnstageVolumeRequest {
13271332 // system/filesystem, but, at a minimum, SP MUST accept a max path
13281333 // length of at least 128 bytes.
13291334 string staging_target_path = 2 ;
1330-
1335+
13311336 // Indicates that the SP should prefer to successfully unstage the
13321337 // volume, even if data loss would occur as a result.
13331338 // CO MUST NOT set this field to true unless SP has the
13341339 // FORCE_UNPUBLISH node capability.
13351340 // This in an OPTIONAL field.
1336- bool force = 3 ;
1341+ bool force = 3 [ (alpha_field) = true ] ;
13371342}
13381343
13391344message NodeUnstageVolumeResponse {
@@ -1418,13 +1423,13 @@ message NodeUnpublishVolumeRequest {
14181423 // system/filesystem, but, at a minimum, SP MUST accept a max path
14191424 // length of at least 128 bytes.
14201425 string target_path = 2 ;
1421-
1426+
14221427 // Indicates that the SP should prefer to successfully unpublish the
14231428 // volume, even if data loss would occur as a result.
14241429 // CO MUST NOT set this field to true unless SP has the
14251430 // FORCE_UNPUBLISH node capability.
14261431 // This in an OPTIONAL field.
1427- bool force = 3 ;
1432+ bool force = 3 [ (alpha_field) = true ] ;
14281433}
14291434
14301435message NodeUnpublishVolumeResponse {
@@ -1552,6 +1557,12 @@ message NodeServiceCapability {
15521557 // with provided volume group identifier during node stage
15531558 // or node publish RPC calls.
15541559 VOLUME_MOUNT_GROUP = 6 [(alpha_enum_value) = true ];
1560+
1561+ // Indicates that the node supports the NodeUnpublishVolume.force
1562+ // field. Also indicates that the node supports the
1563+ // NodeUnstageVolume.force field if it also has the
1564+ // STAGE_UNSTAGE_VOLUME capability.
1565+ FORCE_UNPUBLISH = 7 [(alpha_enum_value) = true ];
15551566 }
15561567
15571568 Type type = 1 ;
0 commit comments