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.