diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 4e2fef94e73..8a61eecb8cb 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2413,15 +2413,15 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager sshPublicKey = pair.getPublicKey(); } - // _accountMgr.checkAccess(caller, template); - DataCenterDeployment plan = new DataCenterDeployment(zone.getId()); - s_logger.debug("Allocating in the DB for vm"); - List> networks = new ArrayList>(); short defaultNetworkNumber = 0; for (NetworkVO network : networkList) { + + if (network.getDataCenterId() != zone.getId()) { + throw new InvalidParameterValueException("Network id=" + network.getId() + " doesn't belong to zone " + zone.getId()); + } if (network.isDefault()) { defaultNetworkNumber++; @@ -2469,6 +2469,8 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager if (isIso) { vm.setIsoId(template.getId()); } + + s_logger.debug("Allocating in the DB for vm"); if (_itMgr.allocate(vm, _templateDao.findById(template.getId()), offering, rootDiskOffering, dataDiskOfferings, networks, null, plan, hypervisorType, owner) == null) { return null;