ready_to_use with CSI clones

20 views
Skip to first unread message

apurv barve

unread,
Aug 11, 2020, 8:38:11 AM8/11/20
to Hemant Kumar, Saad Ali, Ben Swartzlander, container-storage-interface-community, Sandeep P S, Michelle Au
Hi experts,

CreateSnapshot API provides a parameter ready_to_use to indicate when the data copy is complete for the snapshots and snapshots are ready to be consumed. Is similar functionality available for clone creation use-case?  
What is the expectation from a storage driver when creating a new volume with clone functionality? Should clones be made available instantaneously with data copy happening in the background? or since ready_to_use parameter is not available, block the API till clone copy is complete?

Another question - Which k8s CLI calls make API calls ListSnapshots and ListVolumes? 

--
Regards,
Apurv

John Griffith

unread,
Aug 11, 2020, 9:08:32 AM8/11/20
to apurv barve, Hemant Kumar, Saad Ali, Ben Swartzlander, container-storage-interface-community, Sandeep P S, Michelle Au
On Tue, Aug 11, 2020 at 6:38 AM apurv barve <barve...@gmail.com> wrote:
Hi experts,

CreateSnapshot API provides a parameter ready_to_use to indicate when the data copy is complete for the snapshots and snapshots are ready to be consumed. Is similar functionality available for clone creation use-case?  
What is the expectation from a storage driver when creating a new volume with clone functionality? Should clones be made available instantaneously with data copy happening in the background? or since ready_to_use parameter is not available, block the API till clone copy is complete?
Clones aren't really analogous to snapshots , they're independent new volume objects.  Restore snapshots work similarly; they both rely on the DataSource field when creating a new volume.  You can check the docs to get some more of the details and also check out the hostpath plugin for a reference:

Another question - Which k8s CLI calls make API calls ListSnapshots and ListVolumes? 

--
Regards,
Apurv

--
You received this message because you are subscribed to the Google Groups "container-storage-interface-community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to container-storage-interf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/container-storage-interface-community/CAA%2BnuU2%3DHAuDSZniWCnv%2Bd8Z1_0hu%3DMxj9WMfxH7i3c_zMGQTA%40mail.gmail.com.

Luis Pabon

unread,
Aug 11, 2020, 12:29:47 PM8/11/20
to apurv barve, Hemant Kumar, Saad Ali, Ben Swartzlander, container-storage-interface-community, Sandeep P S, Michelle Au
> Which k8s CLI calls make API calls ListSnapshots and ListVolumes? 

I think none. AFAIK, kubectl does not call any CSI commands directly. CSI APIs are only exercised by the kubelet or csi sidecars.

- Luis

--

Michelle Au

unread,
Aug 11, 2020, 1:48:57 PM8/11/20
to Luis Pabon, apurv barve, Hemant Kumar, Saad Ali, Ben Swartzlander, container-storage-interface-community, Sandeep P S
The external-attacher uses ListVolumes to reconcile if the volume got detached from a node where it's supposed to be attached.

The external-snapshotter uses ListSnapshots to determine when a snapshot is ready_to_use

Xing Yang

unread,
Aug 11, 2020, 2:00:17 PM8/11/20
to Michelle Au, Luis Pabon, apurv barve, Hemant Kumar, Saad Ali, Ben Swartzlander, container-storage-interface-community, Sandeep P S
 ListSnapshots is called only for pre-provisioned snapshots.

Reply all
Reply to author
Forward
0 new messages