Skip to content

Commit

Permalink
spec: add optional secrets to NodeGetVolumeStatsRequest
Browse files Browse the repository at this point in the history
For BlockVolume type of volumes, there are very little stats that can be
gathered. The only reasonable metric on the Node that is available
without knowing the contents of the BlockVolume, is the Total capacity.

Different backend storage systems can thin-provision BlockVolumes.
Initially the Used storage will be low, and growing over time. This is
not detectable through standard Operating System APIs, but the backend
storage system can provide more acurate Available/Used stats through
expert APIs.

In order to allow the Node to retrieve advanced stats from the backend
storage system, the secrets that are used for staging the volume can be
provided.
  • Loading branch information
nixpanic committed Jun 15, 2021
1 parent 486e6bd commit 5e3def1
Show file tree
Hide file tree
Showing 3 changed files with 284 additions and 242 deletions.
14 changes: 14 additions & 0 deletions csi.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1430,6 +1430,20 @@ message NodeGetVolumeStatsRequest {
// system/filesystem, but, at a minimum, SP MUST accept a max path
// length of at least 128 bytes.
string staging_target_path = 3;

// Secrets that the plugin can use to request additional statistics
// from the backend storage system.
// This field is OPTIONAL. Refer to the `Secrets Requirements`
// section on how to use this field.
map<string, string> secrets = 4
[(csi_secret) = true, (alpha_field) = true];

// Volume context as returned by SP in
// CreateVolumeResponse.Volume.volume_context.
// This field is OPTIONAL and MUST match the volume_context of the
// volume identified by `volume_id`.
map<string, string> volume_context = 5
[(alpha_field) = true];
}

message NodeGetVolumeStatsResponse {
Expand Down
Loading

0 comments on commit 5e3def1

Please sign in to comment.