com.cloud.exception.InsufficientServerCapacityException what wrong?

2013-09-24 Thread Jake.liu
com.cloud.exception.InsufficientServerCapacityException: Unable to create a 
deployment for VM[User|14e221fe-1285-49b7-b18f-4911bdfa2880]Scope=interface 
com.cloud.dc.DataCenter; id=1
at 
org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.reserveVirtualMachine(VMEntityManagerImpl.java:186)
at 
org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.reserve(VirtualMachineEntityImpl.java:198)
at 
com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3864)
at 
com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3458)
at 
com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3444)
at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at 
org.apache.cloudstack.api.command.user.vm.DeployVMCmd.execute(DeployVMCmd.java:379)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
at 
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:437)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
INFO  [cloud.vm.UserVmManagerImpl] (UserVm-Scavenger-1:) Found 1 vms to expunge.

com.cloud.exception.InsufficientServerCapacityException what wrong?

2013-09-24 Thread Jake.liu
   DeployDestination dest;
try {
dest = _dpMgr.planDeployment(vmProfile, plan, exclude);
} catch (AffinityConflictException e) {
throw new CloudRuntimeException("Unable to create deployment, 
affinity rules associted to the VM conflict");
}


if (dest != null) {
   //save destination with VMEntityVO
VMReservationVO vmReservation = new VMReservationVO(vm.getId(), 
dest.getDataCenter().getId(), dest.getPod().getId(), dest.getCluster().getId(), 
dest.getHost().getId());
Map volumeReservationMap = new HashMap();


if (vm.getHypervisorType() != HypervisorType.BareMetal) {
for(Volume vo : dest.getStorageForDisks().keySet()){
volumeReservationMap.put(vo.getId(), 
dest.getStorageForDisks().get(vo).getId());
}
vmReservation.setVolumeReservation(volumeReservationMap);
}


vmEntityVO.setVmReservation(vmReservation);
_vmEntityDao.persist(vmEntityVO);


return vmReservation.getUuid();
} else if (planChangedByReadyVolume) {
// we could not reserve in the Volume's cluster - let the deploy
// call retry it.
return UUID.randomUUID().toString();
}else{
throw new InsufficientServerCapacityException("Unable to create a 
deployment for " + vmProfile,
DataCenter.class, plan.getDataCenterId(), 
areAffinityGroupsAssociated(vmProfile));
}