[Engine-devel] Floating Disks implementation in REST-API

Itamar Heim iheim at redhat.com
Wed Apr 18 12:54:58 UTC 2012


On 04/18/2012 01:36 PM, Einav Cohen wrote:
> [Top Posting]
>
> Let's try to concentrate on the subject of this thread (we can discuss shared disks in a separate thread):
>
> - I agree with Ori: Disks root collection should have all disks, not only floating (shared?) disks. Disk is an important business entity, which "deserves" a full root collection of its own - I think it is more aligned with the existing api structure (VMs are shown both in the VMs root collection as well as under their Cluster/DC).
>
> - Regarding possibilities 1 vs. 2 below: I prefer #1 (again - agreeing with Ori, IIRC): Although risky in a sense, at least existing users/scripts won't be harmed because of this, since the behavior is backward compatible. Regarding new users - they should know what they are doing, and they should always be careful when using DELETE, no matter from which context. It also "looks" better (more symmetrical, adding a new POST action is avoided).
>
> Comments?

I also like #1. maybe change the parameter name though from detach to 
something that explains the delete will only be from the VM 
("preserve=true", or some better name).

i.e., detach, like delete is "in the same direction" of removing something.
preserve implies this is in the other direction from the delete.

hope this makes sense

>
>
> ----- Original Message -----
>> From: "Ori Liel"<oliel at redhat.com>
>> To: engine-devel at ovirt.org
>> Cc: "Eoghan Glynn"<eglynn at redhat.com>
>> Sent: Monday, April 16, 2012 3:33:27 PM
>> Subject: Re: [Engine-devel] Floating Disks implementation in REST-API
>>
>> I'd like us to move forward with this.
>>
>> The option of using 'attach' action does not exist, because, as
>> Eoghan observed, we would be executing an action on an entity which
>> doesn't exist in the collection: (.../api/vms/{vm:id}/disks/???-no
>> entity-???/attach)
>>
>> There are two options left on the table; let's see if we can agree on
>> one of them:
>>
>> 1)
>>          POST/api/vms/{vm:id}/disks
>>          <disk id="{disk:id}"/>                                =>
>>           attach disk
>>
>>          DELETE .../api/vms/{vm:id}/disks/{disk:id}
>>          <disk><detach>true</detach><disk>                     =>
>>           detach disk
>>
>> Pros: symmetrical
>> Cons: risky (if user wants to detach but forgot to give parameter,
>> disk will be deleted).
>>
>> 2)
>>
>>          POST/api/vms/{vm:id}/disks
>>          <disk id="{disk:id}"/>                                =>
>>           attach disk
>>
>>          DELETE .../api/vms/{vm:id}/disks/{disk:id}/detach    =>
>>           detach disk
>>
>> Pros: not dangerous
>> Cons: asymmetrical, attach done like add, but detach done using
>> action.
>>
>>
>> No solution is perfect but we need to decide.
>>
>> Thanks,
>>
>> Ori.
>> _______________________________________________
>> Engine-devel mailing list
>> Engine-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/engine-devel
>>
>>
>>




More information about the Devel mailing list