@@ -800,8 +800,28 @@ message ListVolumesRequest {
800
800
}
801
801
802
802
message ListVolumesResponse {
803
+ message VolumeStatus {
804
+ // A list of all `node_id` of nodes that the volume in this entry
805
+ // is controller published on.
806
+ // This field is OPTIONAL. If it is not specified and the SP has
807
+ // the LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO
808
+ // MAY assume the volume is not controller published to any nodes.
809
+ // If the field is not specified and the SP does not have the
810
+ // LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO MUST
811
+ // not interpret this field.
812
+ // published_node_ids MAY include nodes not published to or
813
+ // reported by the SP. The CO MUST be resilient to that.
814
+ repeated string published_node_ids = 1 ;
815
+ }
816
+
803
817
message Entry {
818
+ // This field is REQUIRED
804
819
Volume volume = 1 ;
820
+
821
+ // This field is OPTIONAL. This field MUST be specified if the
822
+ // LIST_VOLUMES_PUBLISHED_NODES controller capability is
823
+ // supported.
824
+ VolumeStatus status = 2 ;
805
825
}
806
826
807
827
repeated Entry entries = 1 ;
@@ -884,6 +904,10 @@ message ControllerServiceCapability {
884
904
885
905
// See VolumeExpansion for details.
886
906
EXPAND_VOLUME = 9 ;
907
+
908
+ // Indicates the SP supports the
909
+ // ListVolumesResponse.entry.published_nodes field
910
+ LIST_VOLUMES_PUBLISHED_NODES = 10 ;
887
911
}
888
912
889
913
Type type = 1 ;
0 commit comments