ONTAP Rest API Discussions
ONTAP Rest API Discussions
Hi All, is there an API/CLI which provides information on all clones under split for a source volume?
Solved! See The Solution
As a general rule, POST is for creating something or executing an operation, PATCH is for changing something, and GET is just retrieving information.
I tested this now:
GET https://10.192.160.45/api/storage/volumes?fields=uuid,size,svm.name,svm.uuid,clone.split_initiated,clone.split_complete_percent,clone.split_estimate,n...
and it returned what you'd expect on a system without any current split operations for each volume:
->doREST:REST:RESPONSE: "clone": {
->doREST:REST:RESPONSE: "split_estimate": 3266568192,
->doREST:REST:RESPONSE: "split_initiated": false
The split_estimate is misleading. That's the amount of used space on the volume to be split. It does NOT mean that amount of data will be copied or consumed after the split. The space consumption after a split depends on what the space allocation polices are for the volume. If you're in fully thin provisioned configuration, splitting a clone requires no additional space. If you're thick provisioned, the split clone would allocate its full size on the aggregate for itself.
"volume clone split show" is the CLI command.
For REST, you can do a GET /storage/volumes and retrieve fields like:
Thanks Jeff. Should this be a PATCH/GET ? Since, i use PATCH for clone stop and start using split_initiated:"true"/"false" . Something like this
payload = {
+ "clone.split_initiated": "false"
+ }
How should i do it from split_complete_percent and split_estimate?
As a general rule, POST is for creating something or executing an operation, PATCH is for changing something, and GET is just retrieving information.
I tested this now:
GET https://10.192.160.45/api/storage/volumes?fields=uuid,size,svm.name,svm.uuid,clone.split_initiated,clone.split_complete_percent,clone.split_estimate,n...
and it returned what you'd expect on a system without any current split operations for each volume:
->doREST:REST:RESPONSE: "clone": {
->doREST:REST:RESPONSE: "split_estimate": 3266568192,
->doREST:REST:RESPONSE: "split_initiated": false
The split_estimate is misleading. That's the amount of used space on the volume to be split. It does NOT mean that amount of data will be copied or consumed after the split. The space consumption after a split depends on what the space allocation polices are for the volume. If you're in fully thin provisioned configuration, splitting a clone requires no additional space. If you're thick provisioned, the split clone would allocate its full size on the aggregate for itself.
Thanks Jeff. I did try with GET but somehow i didnt get the split estimate. Probably because of the fields. i put it as fields=*