
On 03/11/2015 05:47 PM, Shmuel Melamud wrote:
Hi!
I'm currently working on adding VM parameters to VmPool collection in REST API. This will make possible to configure VMs on per pool basics like in the UI.
The proposal is here: http://www.ovirt.org/Features/Vm_Parameters_in_REST_API_for_Vm_Pools
Do anybody have any comments/suggestions?
In your proposal you suggest to reuse the "template" element that appears inside the "vmpool" element. That "template" element is currently used as a link to the template that the pool is based on. If you add attributes to it it will look like they are attributes of the template itself, but still the link will point to the original template. For example: GET /vmpools/mypool <vmpool ...> ... <template id="mytemplate" href="/templates/mytemplate"> <type>desktop</type> <-- This is the type of the pool, not of the template </template> </vmpool> GET /templates/mytemplate <template ...> <type>server</type> <-- This is the type of the template, not of the pool ... </template> This difference may be confusing, at least. Also, users tend to take a resource representation from one URI and pass it to another URL (specially if using the Python or Java SDKs), for example: template = api.templates.get(name="mytemplate") api.vmpools.add( VMPool( template=mytemplate ) ) This would result in unexpectedly overriding all the properties of the pool with those of the template, so later changes to the template itself won't be reflected in the pool. To avoid these two issues I'd suggest to not use the existing "template" element, but add to the "vmpool" element all the required attributes: POST /vmpools <vmpool> <type>desktop</type> <display>...</display> ... </vmpool> -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.