cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Nalley <>
Subject Re: [PROPOSAL] Introduce API returning you an answer from CloudStack storage/host allocators whethere there is enough resources for vm deployment
Date Mon, 03 Feb 2014 14:09:44 GMT
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.

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

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


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

View raw message