diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 9075ee903a5..d0230755d47 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -3601,9 +3601,9 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } boolean isDomainSpecific = false; - List domainVln = _domainVlanMapDao.listDomainVlanMapsByVlan(vlanRange.getId()); + List domainVlan = _domainVlanMapDao.listDomainVlanMapsByVlan(vlanRange.getId()); // Check for domain wide pool. It will have an entry for domain_vlan_map. - if (domainVln != null && !domainVln.isEmpty()) { + if (domainVlan != null && !domainVlan.isEmpty()) { isDomainSpecific = true; } @@ -3760,10 +3760,10 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati forSystemVms = ip.isForSystemVms(); final Long allocatedToAccountId = ip.getAllocatedToAccountId(); if (allocatedToAccountId != null) { - final Account accountAllocatedTo = _accountMgr.getActiveAccountById(allocatedToAccountId); - if (!accountAllocatedTo.getAccountName().equalsIgnoreCase(accountName)) { + if (vlanOwner != null && allocatedToAccountId != vlanOwner.getId()) { throw new InvalidParameterValueException(ip.getAddress() + " Public IP address in range is allocated to another account "); } + final Account accountAllocatedTo = _accountMgr.getActiveAccountById(allocatedToAccountId); if (vlanOwner == null && domain != null && domain.getId() != accountAllocatedTo.getDomainId()){ throw new InvalidParameterValueException(ip.getAddress() + " Public IP address in range is allocated to another domain/account "); @@ -3824,9 +3824,9 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } boolean isDomainSpecific = false; - final List domainVln = _domainVlanMapDao.listDomainVlanMapsByVlan(vlanDbId); + final List domainVlan = _domainVlanMapDao.listDomainVlanMapsByVlan(vlanDbId); // Check for domain wide pool. It will have an entry for domain_vlan_map. - if (domainVln != null && !domainVln.isEmpty()) { + if (domainVlan != null && !domainVlan.isEmpty()) { isDomainSpecific = true; } @@ -3879,7 +3879,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati // decrement resource count for dedicated public ip's _resourceLimitMgr.decrementResourceCount(acctVln.get(0).getAccountId(), ResourceType.public_ip, new Long(ips.size())); return true; - } else if (isDomainSpecific && _domainVlanMapDao.remove(domainVln.get(0).getId())) { + } else if (isDomainSpecific && _domainVlanMapDao.remove(domainVlan.get(0).getId())) { s_logger.debug("Remove the vlan from domain_vlan_map successfully."); return true; } else {