Makes lot of sense. Would the same API allow the caller just to check (not 
actually proceed to create) whether resources are present for a particular 
payload? This may be useful for the client who want to proactively check and 
avoid returning failure. 

Are there any race condition possibilities when multiple requests are received?
----

Madan Ganesh Velayudham P.M.P, C.S.M.,
madangan...@me.com




On 01-Feb-2014, at 5:56 am, Alena Prokharchyk <alena.prokharc...@citrix.com> 
wrote:

> Currently there is no way to know if there is enough resources for vm 
> deployment, before actual deployVm call is made. The sequence is the 
> following:
> 
> 1) Deploy Vm is called
> 2) DB record is created for the Vm
> 3) Storage/Host allocators determine whethere there are enough resources for 
> vm to be deployed, and return deploy destination to the caller stack.
> 4) If allocator returns valid deploy destination, VM gets actually 
> created/started on the backend. If allocators don't return the destination, 
> the DB record created on step 2) gets destroyed, and ResourceAllocation 
> exception is thrown back to the API caller.
> 
> The API I'm going to introduce, would help you to determine whether CS 
> physical resources - hosts, storages - can potentially accomodate vm 
> deployment (considering template/service/diskOffering) at a given time, w/o 
> actually calling the deploy vm. Some admins might find this call useful as 
> they can always make this check before submitting the deployVm, so in case it 
> returns NO, you can fail the deployment immediately, w/o calling deployVm. 
> Also you can make this call to determine what is lacking for certain vm 
> deployment, and expand your physical resources accordingly.
> 
> Please let me know if see any pitfalls in the proposal, as well if you see 
> any other use cases that can be solved using this API.
> 
> Prachi, can you please point me to an existing method (or interface) defined 
> in Allocators code serving this purpose?
> 
> Thanks,
> -Alena.

Reply via email to