What's really needed is a reserve API.  It would be a big undertaking though as 
that concept is not in any of the network and storage plugins.

--alex

> -----Original Message-----
> From: David Nalley [mailto:da...@gnsa.us]
> Sent: Monday, February 3, 2014 6:10 AM
> To: dev@cloudstack.apache.org
> Cc: Prachi Damle
> Subject: Re: [PROPOSAL] Introduce API returning you an answer from
> CloudStack storage/host allocators whethere there is enough resources for
> vm deployment
> 
> 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