Hi Alena:

I am not sure that I see a ton of value in this - and let me explain why:

1. This could potentially be an information disclosure issue - Could I
potentially see how much storage or other resources are available.
Does

2. At any scale things are going to potentially change rapidly, so a
delay of 5 minutes may mean that the content is outdated and no longer
valid.

3. Most importantly deploying a single machine isn't interesting, and
why would I bother checking. (And this also brings up one of the
things I find lacking in the deployVM API call.) What I'd be
interested in knowing is whether I could deploy 5, 50, or 500
machines. Perhaps adding a count parameter to the deployVirtualMachine
would help (and the corresponding API call to check that resources are
available.)

--David

On Fri, Jan 31, 2014 at 7:26 PM, 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