Skip to content

Behaviour of controller.CreateVolume when a Snapshot is Not Ready? #694

@arianitu

Description

@arianitu

I'm having a lot of trouble discovering the behaviour of CSI when it comes to Snapshots that have a readyToUse set to false.

Specifically, I have two basic questions:

  1. In the case where a PVC is being created from a VolumeSnapshot and that VolumeSnapshot is currently not readyToUse, what is the behaviour of the CSI driver? From what I have looked at, it seems like https://github.com/kubernetes-csi/external-provisioner#csi-error-and-timeout-handling defines the timing out. By default, it retries every --retry-interval-start doubling every time until it hits --retry-interval-max
  2. Since the CSI sidecar will timeout after 5 minutes. How does CSI handle the case where a VolumeSnapshot is very large, like Terrabytes, where readyToUse may take an hour?

Is the expected behaviour that the user would manually check the VolumeSnapshot and wait until it's readyToUse flag is set to true? So for example, the user would wait 20 minutes, then apply the PVC to the cluster pointing to the Volume Snapshot?

  1. Is there any way to let the controller.CreateVolume wait longer, for big snapshots, so I don't have to manually wait? I understand you can change the configuration values of the sidecar container, but that applies globally for all CSI drivers? Is there perhaps a method to get waiting behaviour with exponential backoff that doesn't timeout so quickly (5 minutes?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions