From d67bef8e787ed55e2f87f4fe872477661016ee8d Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Mon, 21 Nov 2011 11:52:23 -0800 Subject: [PATCH] Owner of the network is system if the network is shared to Domain --- server/src/com/cloud/network/NetworkManagerImpl.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 7dbea5968e6..2e8379ffdbf 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -1776,7 +1776,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag } else { throw new InvalidParameterValueException("Incorrect aclType specified. Check the API documentation for supported types"); } - } else if (zone.getNetworkType() == NetworkType.Advanced) { + } else if (zone.getNetworkType() == NetworkType.Advanced){ aclType = ACLType.Account; } else if (zone.getNetworkType() == NetworkType.Basic){ aclType = ACLType.Domain; @@ -1882,6 +1882,11 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag sharedDomainId = _domainMgr.getDomain(Domain.ROOT_DOMAIN).getId(); } } + + //default owner to system if network has aclType=Domain + if (aclType == ACLType.Domain) { + owner = _accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM); + } Network network = createGuestNetwork(networkOfferingId, name, displayText, isDefault, gateway, cidr, vlanId, networkDomain, owner, false, sharedDomainId, pNtwk, zoneId, aclType, subdomainAccess); //Vlan is created in 2 cases - works in Advance zone only: @@ -2006,9 +2011,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag } else { if (networkDomain == null) { //1) Get networkDomain from the corresponding account/domain/zone - if (aclType == null) { - networkDomain = getZoneNetworkDomain(zoneId); - } else if (aclType == ACLType.Domain) { + if (aclType == ACLType.Domain) { networkDomain = getDomainNetworkDomain(domainId, zoneId); } else if (aclType == ACLType.Account){ networkDomain = getAccountNetworkDomain(owner.getId(), zoneId);