Skip to content

spec: ListVolumesRequest should enable getting single/filtered volumes #54

Open
@akutz

Description

@akutz

I just realized the spec doesn't enable the retrieval of a single volume. To me this is a huge performance problem. The client shouldn't always be forced to retrieve an entire dataset for only one or more desired volumes.

I propose updating the ListVolumesRequest message like so:

message ListVolumesRequest {
  // The API version assumed by the CO. This field is REQUIRED.
  Version version = 1;

  // If specified, the Plugin MUST NOT return more entries than this
  // number in the response. If the actual number of entries is more
  // than this number, the Plugin MUST set `next_token` in the response
  // which can be used to get the next page of entries in the subsequent
  // `ListVolumes` call. This field is OPTIONAL. If not specified, it
  // means there is no restriction on the number of entries that can be
  // returned.
  uint32 max_entries = 2;

  // A token to specify where to start paginating. Set this field to 
  // `next_token` returned by a previous `ListVolumes` call to get the
  // next page of entries.
  string starting_token = 3; 

  // If specified, the Plugin MUST return ONLY the requested volumes.
  // This field is optional.
  repeated VolumeID volume_ids = 4;
}

This update would enable COs to request one or more specific volumes and enable the filtering to occur on the remote side, reducing the size of the transported data and compute resources necessary to filter the list on the client side.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions