-
Notifications
You must be signed in to change notification settings - Fork 806
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
Implement Snapshot support #25
Comments
CC @tsmetana |
/assign @tsmetana |
@bertinatto: GitHub didn't allow me to assign the following users: tsmetana. Note that only kubernetes-sigs members and repo collaborators can be assigned. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Punt the feature to beta release |
/kind feature |
First version (does not implement snapshot listing yet): https://github.com/tsmetana/aws-ebs-csi-driver/tree/snapshots-updated It's based on PR#122 (CSI-1.0) so I will wait with my PR. |
@tsmetana: we just merged my PR into |
Thanks. Created the promised PR. |
/assign @dkoshkin |
OK. I'm not sure which is the right place to discuss this... What is happening with the snapshots: in the waitForSnapshotCreate there is an truncated exponential backoff with a condition function that basically polls for the snapshot unitl it's "completed" or an error occurs. The polling loop uses ec2.DescribeSnapshotsWithContext(ctx, ...). After few iterations this call fails with GRPC error ("DeadlineExceeded" iirc). Looks like the issue is that the CreateSnapshot CSI call should be blocking (by specification) but the GRPC connection times out prematurely -- it's unknown how long time a snapshot creation might take. The controllers (external snapshotter in our case) should be able to handle that -- for example external attacher distinguishes the fatal and transient errors like this: https://github.com/kubernetes-csi/external-attacher/blob/master/pkg/connection/connection.go#L256 I guess similar mechanism needs to be implemented also in the external snapshotter, otherwise this patch will not work... Edit: In case of AWS it might be possible to avoid the error by simply not waiting for the snapshot to complete and return immediately with a snapshot in not ReadyToUse state. The snapshotter should then re-try until the snapshot is ready. |
The issues I mentioned in the previous comment were worked around in the patch that's been recently merged. |
@tsmetana your snapshot change is merged into master branch just to confirm that is |
No, ListSnapshot is not implemented yet. I'll add it to my TODO. |
@leakingtapan: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Driver implementation should support following operations:
ListSnapshotsImplement ListSnapshot #233References:
The text was updated successfully, but these errors were encountered: