• Tim Gross's avatar
    csi: loosen ValidateVolumeCapability requirements (#9049) · bf62f46a
    Tim Gross authored
    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.
    bf62f46a