container-storage-interface/spec

Why don't some CSI requests have [parameters] or [secrets]?

lambdaS-zh opened this issue · 5 comments

Referring to secrets requirements, secrets MAY be required by plugin to complete a RPC request. My understanding is that all volume operations in one SP context(e.g. StorageClass in k8s) share the same parameters or secrets, while all snapshot operations share another pack of parameters or secrets.

So why don't some CSI requests have parameters or secrets? I found that NodeUnstageVolumeRequest, NodeUnpublishVolumeRequest, ListVolumesRequest and some others don't have the 2 fields. By comparison, all snapshot requests have the field secrets.

jdef commented

@jdef not yet. But someone else may meet problems. For example, storage vendors may expect their plugin serves in front of multiple storage backends which have different credentials(#461). This may require all volume operations contain those informations.
I'm confused CreateVolumeRequest has those fields while ListVolumesRequest does not.
Personally, I just think it's better to keep the same style as those in snapshot.

@jdef On the other hand, also I'm not sure whether this use case should be supported. Maybe this should be solved by storage backends themselves.

jdef commented

@jdef By the same logic, is the secrets of ListSnapshotsRequest snapshot specific?