[ovirt-devel] VM Parameters in REST API for Vm Pools

Omer Frenkel ofrenkel at redhat.com
Thu Mar 12 11:52:41 UTC 2015



----- Original Message -----
> From: "Juan Hernández" <jhernand at redhat.com>
> To: "Shmuel Melamud" <smelamud at redhat.com>, devel at ovirt.org
> Sent: Wednesday, March 11, 2015 7:14:19 PM
> Subject: Re: [ovirt-devel] VM Parameters in REST API for Vm Pools
> 
> 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>
> 

what about embedding <vm> inside the pool?
then it will have also template inside, and also correlate to the real implementation of the pool in the backend

> --
> 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.
> _______________________________________________
> Devel mailing list
> Devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
> 



More information about the Devel mailing list