I believe it's a nice idea. A lot of us have experienced the annoying InsufficientCapacityException in Deploying Virtual Machines, but we can't tell exactly why just by reading the logs.
If this new API could help us debug this VM deployment process to determine exactly which resource is lacking, or probably other internal reasons that cause this InsufficientCapacityException, it would be very helpful! ------------------------------------------------------------------------------------------- Yu-Heng (Ryan) Lei, Associate Researcher Cloud Computing Dept, Chunghwa Telecom Labs ryan...@cht.com.tw or ryanlei750...@gmail.com On Sat, Feb 1, 2014 at 8:26 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. >