open-nomad/plugins/csi
Tim Gross 29a5454894
csi: loosen ValidateVolumeCapability requirements (#9049)
The CSI specification for `ValidateVolumeCapability` says that we shall
"reconcile successful capability-validation responses by comparing the
validated capabilities with those that it had originally requested" but leaves
the details of that reconcilation unspecified. This API is not implemented in
Kubernetes, so controller plugins don't have a real-world implementation to
verify their behavior against.

We have found that CSI plugins in the wild may return "successful" but
incomplete `VolumeCapability` responses, so we can't require that all
capabilities we expect have been validated, only that the ones that have been
validated match. This appears to violate the CSI specification but until
that's been resolved in upstream we have to loosen our validation
requirements. The tradeoff is that we're more likely to have runtime errors
during `NodeStageVolume` instead of at the time of volume registration.
2020-10-08 12:53:24 -04:00
..
fake csi: add VolumeContext to NodeStage/Publish RPCs (#8239) 2020-06-22 13:54:32 -04:00
testing
client.go csi: loosen ValidateVolumeCapability requirements (#9049) 2020-10-08 12:53:24 -04:00
client_test.go csi: loosen ValidateVolumeCapability requirements (#9049) 2020-10-08 12:53:24 -04:00
plugin.go csi: add VolumeContext to NodeStage/Publish RPCs (#8239) 2020-06-22 13:54:32 -04:00