Skip to content

Commit 2ca7be5

Browse files
committed
Rename volume attributes and node publish info
1 parent b819389 commit 2ca7be5

File tree

3 files changed

+442
-392
lines changed

3 files changed

+442
-392
lines changed

csi.proto

Lines changed: 50 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -363,15 +363,22 @@ message Volume {
363363
// subsequent calls to refer to the provisioned volume.
364364
string id = 2;
365365

366-
// Attributes reflect static properties of a volume and MUST be passed
367-
// to volume validation and publishing calls.
368-
// Attributes SHALL be opaque to a CO. Attributes SHALL NOT be mutable
369-
// and SHALL be safe for the CO to cache. Attributes SHOULD NOT
370-
// contain sensitive information. Attributes MAY NOT uniquely identify
371-
// a volume. A volume uniquely identified by `id` SHALL always report
372-
// the same attributes. This field is OPTIONAL and when present MUST
373-
// be passed to volume validation and publishing calls.
374-
map<string, string> attributes = 3;
366+
// Opaque static properties of the volume. SP MAY use this field to
367+
// ensure subsequent volume validation and publishing calls have
368+
// contextual information.
369+
// The contents of this field SHALL be opaque to a CO.
370+
// The contents of this field SHALL NOT be mutable.
371+
// The contents of this field SHALL be safe for the CO to cache.
372+
// The contents of this field SHOULD NOT contain sensitive
373+
// information.
374+
// The contents of this field SHOULD NOT be used for uniquely
375+
// identifying a volume. The `id` alone should be sufficient to
376+
// identify the volume.
377+
// A volume uniquely identified by `id` SHALL always report the same
378+
// volume_context.
379+
// This field is OPTIONAL and when present MUST be passed to volume
380+
// validation and publishing calls.
381+
map<string, string> volume_context = 3;
375382

376383
// If specified, indicates that the volume is not empty and is
377384
// pre-populated with data from the specified source.
@@ -609,18 +616,27 @@ message ControllerPublishVolumeRequest {
609616
// `Secrets Requirements` section on how to use this field.
610617
map<string, string> secrets = 5 [(csi_secret) = true];
611618

612-
// Attributes of the volume to be used on a node. This field is
613-
// OPTIONAL and MUST match the attributes of the Volume identified
614-
// by `volume_id`.
615-
map<string, string> volume_attributes = 6;
619+
// Volume context as returned by CO in CreateVolumeRequest. This field
620+
// is OPTIONAL and MUST match the volume_context of the volume
621+
// identified by `volume_id`.
622+
map<string, string> volume_context = 6;
616623
}
617624

618625
message ControllerPublishVolumeResponse {
619-
// The SP specific information that will be passed to the Plugin in
620-
// the subsequent `NodeStageVolume` or `NodePublishVolume` calls
621-
// for the given volume.
622-
// This information is opaque to the CO. This field is OPTIONAL.
623-
map<string, string> publish_info = 1;
626+
// Opaque static publish properties of the volume. SP MAY use this
627+
// field to ensure subsequent `NodeStageVolume` or `NodePublishVolume`
628+
// calls calls have contextual information.
629+
// The contents of this field SHALL be opaque to a CO.
630+
// The contents of this field SHALL NOT be mutable.
631+
// The contents of this field SHALL be safe for the CO to cache.
632+
// The contents of this field SHOULD NOT contain sensitive
633+
// information.
634+
// The contents of this field SHOULD NOT be used for uniquely
635+
// identifying a volume. The `id` alone should be sufficient to
636+
// identify the volume.
637+
// This field is OPTIONAL and when present MUST be passed to
638+
// subsequent `NodeStageVolume` or `NodePublishVolume` calls
639+
map<string, string> publish_context = 1;
624640
}
625641
message ControllerUnpublishVolumeRequest {
626642
// The ID of the volume. This field is REQUIRED.
@@ -648,9 +664,10 @@ message ValidateVolumeCapabilitiesRequest {
648664
// The ID of the volume to check. This field is REQUIRED.
649665
string volume_id = 1;
650666

651-
// Attributes of the volume to check. This field is OPTIONAL and MUST
652-
// match the attributes of the Volume identified by `volume_id`.
653-
map<string, string> volume_attributes = 2;
667+
// Volume context as returned by CO in CreateVolumeRequest. This field
668+
// is OPTIONAL and MUST match the volume_context of the volume
669+
// identified by `volume_id`.
670+
map<string, string> volume_context = 2;
654671

655672
// The capabilities that the CO wants to check for the volume. This
656673
// call SHALL return "confirmed" only if all the volume capabilities
@@ -669,9 +686,9 @@ message ValidateVolumeCapabilitiesRequest {
669686

670687
message ValidateVolumeCapabilitiesResponse {
671688
message Confirmed {
672-
// Volume attributes validated by the plugin.
689+
// Volume context validated by the plugin.
673690
// This field is OPTIONAL.
674-
map<string, string> volume_attributes = 1;
691+
map<string, string> volume_context = 1;
675692

676693
// Volume capabilities supported by the plugin.
677694
// This field is REQUIRED.
@@ -944,7 +961,7 @@ message NodeStageVolumeRequest {
944961
// has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
945962
// left unset if the corresponding Controller Plugin does not have
946963
// this capability. This is an OPTIONAL field.
947-
map<string, string> publish_info = 2;
964+
map<string, string> publish_context = 2;
948965

949966
// The path to which the volume MAY be staged. It MUST be an
950967
// absolute path in the root filesystem of the process serving this
@@ -967,10 +984,10 @@ message NodeStageVolumeRequest {
967984
// section on how to use this field.
968985
map<string, string> secrets = 5 [(csi_secret) = true];
969986

970-
// Attributes of the volume to stage. This field is OPTIONAL and
971-
// MUST match the attributes of the `Volume` identified by
972-
// `volume_id`.
973-
map<string, string> volume_attributes = 6;
987+
// Volume context as returned by CO in CreateVolumeRequest. This field
988+
// is OPTIONAL and MUST match the volume_context of the volume
989+
// identified by `volume_id`.
990+
map<string, string> volume_context = 6;
974991
}
975992

976993
message NodeStageVolumeResponse {
@@ -998,7 +1015,7 @@ message NodePublishVolumeRequest {
9981015
// has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
9991016
// left unset if the corresponding Controller Plugin does not have
10001017
// this capability. This is an OPTIONAL field.
1001-
map<string, string> publish_info = 2;
1018+
map<string, string> publish_context = 2;
10021019

10031020
// The path to which the volume was staged by `NodeStageVolume`.
10041021
// It MUST be an absolute path in the root filesystem of the process
@@ -1032,10 +1049,10 @@ message NodePublishVolumeRequest {
10321049
// section on how to use this field.
10331050
map<string, string> secrets = 7 [(csi_secret) = true];
10341051

1035-
// Attributes of the volume to publish. This field is OPTIONAL and
1036-
// MUST match the attributes of the Volume identified by
1037-
// `volume_id`.
1038-
map<string, string> volume_attributes = 8;
1052+
// Volume context as returned by CO in CreateVolumeRequest. This field
1053+
// is OPTIONAL and MUST match the volume_context of the volume
1054+
// identified by `volume_id`.
1055+
map<string, string> volume_context = 8;
10391056
}
10401057

10411058
message NodePublishVolumeResponse {

0 commit comments

Comments
 (0)