-
Notifications
You must be signed in to change notification settings - Fork 378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
external-snapshotter does not wait snapshot to get ready #953
Comments
I actually haven't found any code that waits for a snapshot to become ready. Somehow, an error response breaks this vicious cycle. |
The issue seems to be very timing sensitive and the error at step 2. IMO just changes the timing a bit. The initial CreateSnapshot that actually created a snapshot + returned
I.e. the snapshotter has updated VolumeSnapshotContentStatus + removed In the step 3., the snapshotter managed to save the VolumeSnapshotContent in the informer cache before the informer received it through its watch and thus the informer ignored it:
IMO, the snapshotter should re-queue all VolumeSnapshotContents that are still |
What happened:
Consider this sequence of calls between the external-snapshotter and a CSI driver creating a single snapshot:
name
fails with an error (this seems to be important!)name
succeeds with un-ready snapshot again (the driver / storage is slow).At this point, the external-snapshotter stops. It does not call CreateSnapshot again to check if the snapshot is ready. The VolumeSnapshot and VolumeSnapshotContent are
readyToUse: false
forever.What you expected to happen:
The external-snapshotter calls CreateSnapshot again, until it's ready.
How to reproduce it:
See above. The error injected at step 2. seems to be somehow important.
Anything else we need to know?:
Environment:
external-snapshotter v6.3.0
The text was updated successfully, but these errors were encountered: