From 504264236c9a9580b75c480d60e79a6e3a40b0c5 Mon Sep 17 00:00:00 2001 From: Chiradeep Vittal Date: Tue, 8 Jan 2013 13:38:03 -0800 Subject: [PATCH] Network-refactor: In preparation for moving the read-only interface NetworkModel to the api project, ensure that all methods use interfaces from the api project. By moving it to the api project, it lessens the dependency of plugins on the server components. Signed-off-by: Chiradeep Vittal --- .../lb/ElasticLoadBalancerManagerImpl.java | 6 +-- .../consoleproxy/ConsoleProxyManagerImpl.java | 12 +++--- .../ExternalFirewallDeviceManagerImpl.java | 4 +- .../src/com/cloud/network/NetworkManager.java | 6 +-- .../com/cloud/network/NetworkManagerImpl.java | 20 ++++----- .../src/com/cloud/network/NetworkModel.java | 27 +++++------- .../com/cloud/network/NetworkModelImpl.java | 43 ++++++++++--------- .../VirtualNetworkApplianceManagerImpl.java | 28 ++++++------ ...VpcVirtualNetworkApplianceManagerImpl.java | 5 +-- .../SecondaryStorageManagerImpl.java | 5 ++- .../src/com/cloud/vm/UserVmManagerImpl.java | 8 ++-- .../cloud/network/MockNetworkManagerImpl.java | 6 +-- .../cloud/network/MockNetworkModelImpl.java | 42 +++++++++--------- .../com/cloud/vpc/MockNetworkManagerImpl.java | 6 +-- 14 files changed, 106 insertions(+), 112 deletions(-) mode change 100755 => 100644 server/src/com/cloud/vm/UserVmManagerImpl.java diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java index 3d3ba9c89a1..6481d7fa86f 100644 --- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java +++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java @@ -101,8 +101,8 @@ import com.cloud.network.router.VpcVirtualNetworkApplianceManager; import com.cloud.network.rules.FirewallRule; import com.cloud.network.rules.FirewallRule.Purpose; import com.cloud.network.rules.LoadBalancer; +import com.cloud.offering.NetworkOffering; import com.cloud.offering.ServiceOffering; -import com.cloud.offerings.NetworkOfferingVO; import com.cloud.offerings.dao.NetworkOfferingDao; import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; @@ -497,8 +497,8 @@ ElasticLoadBalancerManager, Manager, VirtualMachineGuru { s_logger.debug("Creating the ELB vm " + id); } - List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemControlNetwork); - NetworkOfferingVO controlOffering = offerings.get(0); + List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); + NetworkOffering controlOffering = offerings.get(0); NetworkVO controlConfig = _networkMgr.setupNetwork(_systemAcct, controlOffering, plan, null, null, false).get(0); List> networks = new ArrayList>(2); diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 9161e605abf..c8f8bdcbe27 100755 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -98,8 +98,8 @@ import com.cloud.network.Networks.TrafficType; import com.cloud.network.dao.IPAddressDao; import com.cloud.network.dao.NetworkDao; import com.cloud.network.rules.RulesManager; +import com.cloud.offering.NetworkOffering; import com.cloud.offering.ServiceOffering; -import com.cloud.offerings.NetworkOfferingVO; import com.cloud.offerings.dao.NetworkOfferingDao; import com.cloud.resource.ResourceManager; import com.cloud.resource.ResourceStateAdapter; @@ -239,9 +239,9 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx private ServiceOfferingVO _serviceOffering; - NetworkOfferingVO _publicNetworkOffering; - NetworkOfferingVO _managementNetworkOffering; - NetworkOfferingVO _linkLocalNetworkOffering; + NetworkOffering _publicNetworkOffering; + NetworkOffering _managementNetworkOffering; + NetworkOffering _linkLocalNetworkOffering; @Inject private VirtualMachineManager _itMgr; @@ -769,7 +769,7 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx NetworkVO defaultNetwork = defaultNetworks.get(0); - List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemControlNetwork, NetworkOfferingVO.SystemManagementNetwork); + List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork); List> networks = new ArrayList>(offerings.size() + 1); NicProfile defaultNic = new NicProfile(); defaultNic.setDefaultNic(true); @@ -777,7 +777,7 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx networks.add(new Pair(_networkMgr.setupNetwork(systemAcct, _networkOfferingDao.findById(defaultNetwork.getNetworkOfferingId()), plan, null, null, false).get(0), defaultNic)); - for (NetworkOfferingVO offering : offerings) { + for (NetworkOffering offering : offerings) { networks.add(new Pair(_networkMgr.setupNetwork(systemAcct, offering, plan, null, null, false).get(0), null)); } diff --git a/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java index 8431e03da52..6b05e25d15f 100644 --- a/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java +++ b/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java @@ -384,7 +384,7 @@ public abstract class ExternalFirewallDeviceManagerImpl extends AdapterBase impl IPAddressVO sourceNatIp = null; if (!sharedSourceNat) { // Get the source NAT IP address for this account - List sourceNatIps = _networkMgr.listPublicIpsAssignedToAccount(network.getAccountId(), + List sourceNatIps = _networkMgr.listPublicIpsAssignedToAccount(network.getAccountId(), zoneId, true); if (sourceNatIps.size() != 1) { @@ -393,7 +393,7 @@ public abstract class ExternalFirewallDeviceManagerImpl extends AdapterBase impl s_logger.error(errorMsg); return true; } else { - sourceNatIp = sourceNatIps.get(0); + sourceNatIp = _ipAddressDao.findById(sourceNatIps.get(0).getId()); } } diff --git a/server/src/com/cloud/network/NetworkManager.java b/server/src/com/cloud/network/NetworkManager.java index 8f8ea5edaca..d4a9b5c64c9 100755 --- a/server/src/com/cloud/network/NetworkManager.java +++ b/server/src/com/cloud/network/NetworkManager.java @@ -87,10 +87,10 @@ public interface NetworkManager { */ public boolean disassociatePublicIpAddress(long id, long userId, Account caller); - List setupNetwork(Account owner, NetworkOfferingVO offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) + List setupNetwork(Account owner, NetworkOffering offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) throws ConcurrentOperationException; - List setupNetwork(Account owner, NetworkOfferingVO offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, + List setupNetwork(Account owner, NetworkOffering offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, ACLType aclType, Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException; void allocate(VirtualMachineProfile vm, List> networks) throws InsufficientCapacityException, ConcurrentOperationException; @@ -143,7 +143,7 @@ public interface NetworkManager { boolean applyIpAssociations(Network network, boolean continueOnError) throws ResourceUnavailableException; - boolean applyIpAssociations(Network network, boolean rulesRevoked, boolean continueOnError, List publicIps) throws ResourceUnavailableException; + boolean applyIpAssociations(Network network, boolean rulesRevoked, boolean continueOnError, List publicIps) throws ResourceUnavailableException; boolean startNetwork(long networkId, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException; diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 8ff3bba66fd..eb20207dca6 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -548,15 +548,15 @@ public class NetworkManagerImpl implements NetworkManager, Manager, Listener { @Override public boolean applyIpAssociations(Network network, boolean rulesRevoked, boolean continueOnError, - List publicIps) throws ResourceUnavailableException { + List publicIps) throws ResourceUnavailableException { boolean success = true; - Map> ipToServices = _networkModel.getIpToServices(publicIps, rulesRevoked, true); - Map> providerToIpList = _networkModel.getProviderToIpList(network, ipToServices); + Map> ipToServices = _networkModel.getIpToServices(publicIps, rulesRevoked, true); + Map> providerToIpList = _networkModel.getProviderToIpList(network, ipToServices); for (Provider provider : providerToIpList.keySet()) { try { - ArrayList ips = providerToIpList.get(provider); + ArrayList ips = providerToIpList.get(provider); if (ips == null || ips.isEmpty()) { continue; } @@ -568,7 +568,7 @@ public class NetworkManagerImpl implements NetworkManager, Manager, Listener { throw new CloudRuntimeException("Fail to get ip deployer for element: " + element); } Set services = new HashSet(); - for (PublicIp ip : ips) { + for (PublicIpAddress ip : ips) { if (!ipToServices.containsKey(ip)) { continue; } @@ -680,16 +680,16 @@ public class NetworkManagerImpl implements NetworkManager, Manager, Listener { protected IPAddressVO getExistingSourceNatInNetwork(long ownerId, Long networkId) { - List addrs = _networkModel.listPublicIpsAssignedToGuestNtwk(ownerId, networkId, true); + List addrs = _networkModel.listPublicIpsAssignedToGuestNtwk(ownerId, networkId, true); IPAddressVO sourceNatIp = null; if (addrs.isEmpty()) { return null; } else { // Account already has ip addresses - for (IPAddressVO addr : addrs) { + for (IpAddress addr : addrs) { if (addr.isSourceNat()) { - sourceNatIp = addr; + sourceNatIp = _ipAddressDao.findById(addr.getId()); return sourceNatIp; } } @@ -1088,7 +1088,7 @@ public class NetworkManagerImpl implements NetworkManager, Manager, Listener { } @Override - public List setupNetwork(Account owner, NetworkOfferingVO offering, DeploymentPlan plan, String name, + public List setupNetwork(Account owner, NetworkOffering offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) throws ConcurrentOperationException { return setupNetwork(owner, offering, null, plan, name, displayText, false, null, null, null, null); @@ -1096,7 +1096,7 @@ public class NetworkManagerImpl implements NetworkManager, Manager, Listener { @Override @DB - public List setupNetwork(Account owner, NetworkOfferingVO offering, Network predefined, DeploymentPlan + public List setupNetwork(Account owner, NetworkOffering offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, ACLType aclType, Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException { diff --git a/server/src/com/cloud/network/NetworkModel.java b/server/src/com/cloud/network/NetworkModel.java index 27ab38d099c..f53cfbd2ef2 100644 --- a/server/src/com/cloud/network/NetworkModel.java +++ b/server/src/com/cloud/network/NetworkModel.java @@ -29,21 +29,16 @@ import com.cloud.network.Network.Capability; import com.cloud.network.Network.Provider; import com.cloud.network.Network.Service; import com.cloud.network.Networks.TrafficType; -import com.cloud.network.addr.PublicIp; import com.cloud.network.element.NetworkElement; import com.cloud.network.element.UserDataServiceProvider; import com.cloud.network.rules.FirewallRule; import com.cloud.offering.NetworkOffering; -import com.cloud.offerings.NetworkOfferingVO; import com.cloud.user.Account; import com.cloud.vm.Nic; import com.cloud.vm.NicProfile; import com.cloud.vm.VirtualMachine; -/** - * @author chiradeep - * - */ + public interface NetworkModel { /** @@ -57,9 +52,9 @@ public interface NetworkModel { * - (optional) true if the IP address should be a source NAT address * @return - list of IP addresses */ - List listPublicIpsAssignedToGuestNtwk(long accountId, long associatedNetworkId, Boolean sourceNat); + List listPublicIpsAssignedToGuestNtwk(long accountId, long associatedNetworkId, Boolean sourceNat); - List getSystemAccountNetworkOfferings(String... offeringNames); + List getSystemAccountNetworkOfferings(String... offeringNames); List getNics(long vmId); @@ -71,7 +66,7 @@ public interface NetworkModel { List listPodVlans(long podId); - List listNetworksUsedByVm(long vmId, boolean isSystem); + List listNetworksUsedByVm(long vmId, boolean isSystem); Nic getNicInNetwork(long vmId, long networkId); @@ -89,13 +84,13 @@ public interface NetworkModel { boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service... services); - NetworkVO getNetworkWithSecurityGroupEnabled(Long zoneId); + Network getNetworkWithSecurityGroupEnabled(Long zoneId); String getIpOfNetworkElementInVirtualNetwork(long accountId, long dataCenterId); - List listNetworksForAccount(long accountId, long zoneId, Network.GuestType type); + List listNetworksForAccount(long accountId, long zoneId, Network.GuestType type); - List listAllNetworksInAllZonesByType(Network.GuestType type); + List listAllNetworksInAllZonesByType(Network.GuestType type); String getGlobalGuestDomainSuffix(); @@ -145,12 +140,12 @@ public interface NetworkModel { boolean areServicesEnabledInZone(long zoneId, NetworkOffering offering, List services); - Map> getIpToServices(List publicIps, boolean rulesRevoked, + Map> getIpToServices(List publicIps, boolean rulesRevoked, boolean includingFirewall); - Map> getProviderToIpList(Network network, Map> ipToServices); + Map> getProviderToIpList(Network network, Map> ipToServices); - boolean checkIpForService(IPAddressVO ip, Service service, Long networkId); + boolean checkIpForService(IpAddress ip, Service service, Long networkId); void checkCapabilityForProvider(Set providers, Service service, Capability cap, String capValue); @@ -196,7 +191,7 @@ public interface NetworkModel { * @param sourceNat * @return */ - List listPublicIpsAssignedToAccount(long accountId, long dcId, Boolean sourceNat); + List listPublicIpsAssignedToAccount(long accountId, long dcId, Boolean sourceNat); /** * @param zoneId diff --git a/server/src/com/cloud/network/NetworkModelImpl.java b/server/src/com/cloud/network/NetworkModelImpl.java index e9d4fbb64e0..8dee11ecc3d 100644 --- a/server/src/com/cloud/network/NetworkModelImpl.java +++ b/server/src/com/cloud/network/NetworkModelImpl.java @@ -212,7 +212,7 @@ public class NetworkModelImpl implements NetworkModel, Manager{ return element.canEnableIndividualServices(); } - Set getPublicIpPurposeInRules(PublicIp ip, boolean includeRevoked, boolean includingFirewall) { + Set getPublicIpPurposeInRules(PublicIpAddress ip, boolean includeRevoked, boolean includingFirewall) { Set result = new HashSet(); List rules = null; if (includeRevoked) { @@ -235,12 +235,12 @@ public class NetworkModelImpl implements NetworkModel, Manager{ } @Override - public Map> getIpToServices(List publicIps, boolean rulesRevoked, boolean includingFirewall) { - Map> ipToServices = new HashMap>(); + public Map> getIpToServices(List publicIps, boolean rulesRevoked, boolean includingFirewall) { + Map> ipToServices = new HashMap>(); if (publicIps != null && !publicIps.isEmpty()) { Set networkSNAT = new HashSet(); - for (PublicIp ip : publicIps) { + for (PublicIpAddress ip : publicIps) { Set services = ipToServices.get(ip); if (services == null) { services = new HashSet(); @@ -328,9 +328,9 @@ public class NetworkModelImpl implements NetworkModel, Manager{ public boolean canIpUsedForNonConserveService(PublicIp ip, Service service) { // If it's non-conserve mode, then the new ip should not be used by any other services - List ipList = new ArrayList(); + List ipList = new ArrayList(); ipList.add(ip); - Map> ipToServices = getIpToServices(ipList, false, false); + Map> ipToServices = getIpToServices(ipList, false, false); Set services = ipToServices.get(ip); // Not used currently, safe if (services == null || services.isEmpty()) { @@ -361,9 +361,9 @@ public class NetworkModelImpl implements NetworkModel, Manager{ } public boolean canIpUsedForService(PublicIp publicIp, Service service, Long networkId) { - List ipList = new ArrayList(); + List ipList = new ArrayList(); ipList.add(publicIp); - Map> ipToServices = getIpToServices(ipList, false, true); + Map> ipToServices = getIpToServices(ipList, false, true); Set services = ipToServices.get(publicIp); if (services == null || services.isEmpty()) { return true; @@ -404,10 +404,10 @@ public class NetworkModelImpl implements NetworkModel, Manager{ } @Override - public Map> getProviderToIpList(Network network, Map> ipToServices) { + public Map> getProviderToIpList(Network network, Map> ipToServices) { NetworkOffering offering = _networkOfferingDao.findById(network.getNetworkOfferingId()); if (!offering.isConserveMode()) { - for (PublicIp ip : ipToServices.keySet()) { + for (PublicIpAddress ip : ipToServices.keySet()) { Set services = new HashSet() ; services.addAll(ipToServices.get(ip)); if (services != null && services.contains(Service.Firewall)) { @@ -418,12 +418,12 @@ public class NetworkModelImpl implements NetworkModel, Manager{ } } } - Map> serviceToIps = new HashMap>(); - for (PublicIp ip : ipToServices.keySet()) { + Map> serviceToIps = new HashMap>(); + for (PublicIpAddress ip : ipToServices.keySet()) { for (Service service : ipToServices.get(ip)) { - Set ips = serviceToIps.get(service); + Set ips = serviceToIps.get(service); if (ips == null) { - ips = new HashSet(); + ips = new HashSet(); } ips.add(ip); serviceToIps.put(service, ips); @@ -431,19 +431,19 @@ public class NetworkModelImpl implements NetworkModel, Manager{ } // TODO Check different provider for same IP Map> providerToServices = getProviderServicesMap(network.getId()); - Map> providerToIpList = new HashMap>(); + Map> providerToIpList = new HashMap>(); for (Provider provider : providerToServices.keySet()) { Set services = providerToServices.get(provider); - ArrayList ipList = new ArrayList(); - Set ipSet = new HashSet(); + ArrayList ipList = new ArrayList(); + Set ipSet = new HashSet(); for (Service service : services) { - Set serviceIps = serviceToIps.get(service); + Set serviceIps = serviceToIps.get(service); if (serviceIps == null || serviceIps.isEmpty()) { continue; } ipSet.addAll(serviceIps); } - Set sourceNatIps = serviceToIps.get(Service.SourceNat); + Set sourceNatIps = serviceToIps.get(Service.SourceNat); if (sourceNatIps != null && !sourceNatIps.isEmpty()) { ipList.addAll(0, sourceNatIps); ipSet.removeAll(sourceNatIps); @@ -1361,7 +1361,7 @@ public class NetworkModelImpl implements NetworkModel, Manager{ } @Override - public boolean checkIpForService(IPAddressVO userIp, Service service, Long networkId) { + public boolean checkIpForService(IpAddress userIp, Service service, Long networkId) { if (networkId == null) { networkId = userIp.getAssociatedWithNetworkId(); } @@ -1371,7 +1371,8 @@ public class NetworkModelImpl implements NetworkModel, Manager{ if (offering.getGuestType() != GuestType.Isolated) { return true; } - PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress())); + IPAddressVO ipVO = _ipAddressDao.findById(userIp.getId()); + PublicIp publicIp = new PublicIp(ipVO, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(ipVO.getMacAddress())); if (!canIpUsedForService(publicIp, service, networkId)) { return false; } diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 1570d1a9ba0..2a2a625f9f8 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -17,7 +17,6 @@ package com.cloud.network.router; -import java.net.URI; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; @@ -67,7 +66,6 @@ import com.cloud.agent.api.routing.NetworkElementCommand; import com.cloud.agent.api.routing.RemoteAccessVpnCfgCommand; import com.cloud.agent.api.routing.SavePasswordCommand; import com.cloud.agent.api.routing.SetFirewallRulesCommand; -import com.cloud.agent.api.routing.SetNetworkACLCommand; import com.cloud.agent.api.routing.SetPortForwardingRulesCommand; import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand; import com.cloud.agent.api.routing.SetStaticNatRulesCommand; @@ -76,7 +74,6 @@ import com.cloud.agent.api.routing.VpnUsersCfgCommand; import com.cloud.agent.api.to.FirewallRuleTO; import com.cloud.agent.api.to.IpAddressTO; import com.cloud.agent.api.to.LoadBalancerTO; -import com.cloud.agent.api.to.NetworkACLTO; import com.cloud.agent.api.to.NicTO; import com.cloud.agent.api.to.PortForwardingRuleTO; import com.cloud.agent.api.to.StaticNatRuleTO; @@ -175,8 +172,8 @@ import com.cloud.network.rules.StaticNatImpl; import com.cloud.network.rules.StaticNatRule; import com.cloud.network.rules.dao.PortForwardingRulesDao; import com.cloud.network.vpn.Site2SiteVpnManager; +import com.cloud.offering.NetworkOffering; import com.cloud.offering.ServiceOffering; -import com.cloud.offerings.NetworkOfferingVO; import com.cloud.offerings.dao.NetworkOfferingDao; import com.cloud.resource.ResourceManager; import com.cloud.service.ServiceOfferingVO; @@ -1633,8 +1630,8 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian //2) Control network s_logger.debug("Adding nic for Virtual Router in Control network "); - List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemControlNetwork); - NetworkOfferingVO controlOffering = offerings.get(0); + List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); + NetworkOffering controlOffering = offerings.get(0); NetworkVO controlConfig = _networkMgr.setupNetwork(_systemAcct, controlOffering, plan, null, null, false).get(0); networks.add(new Pair(controlConfig, null)); @@ -1656,7 +1653,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian if (hasGuestNetwork) { defaultNic.setDeviceId(2); } - NetworkOfferingVO publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemPublicNetwork).get(0); + NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0); List publicNetworks = _networkMgr.setupNetwork(_systemAcct, publicOffering, plan, null, null, false); networks.add(new Pair(publicNetworks.get(0), defaultNic)); } @@ -2257,11 +2254,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian protected ArrayList getPublicIpsToApply(VirtualRouter router, Provider provider, Long guestNetworkId, com.cloud.network.IpAddress.State... skipInStates) { long ownerId = router.getAccountId(); - final List userIps = _networkModel.listPublicIpsAssignedToGuestNtwk(ownerId, guestNetworkId, null); + final List userIps = _networkModel.listPublicIpsAssignedToGuestNtwk(ownerId, guestNetworkId, null); List allPublicIps = new ArrayList(); if (userIps != null && !userIps.isEmpty()) { boolean addIp = true; - for (IPAddressVO userIp : userIps) { + for (IpAddress userIp : userIps) { if (skipInStates != null) { for (IpAddress.State stateToSkip : skipInStates) { if (userIp.getState() == stateToSkip) { @@ -2273,8 +2270,9 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian } if (addIp) { - PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), - NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress())); + IPAddressVO ipVO = _ipAddressDao.findById(userIp.getId()); + PublicIp publicIp = new PublicIp(ipVO, _vlanDao.findById(userIp.getVlanId()), + NetUtils.createSequenceBasedMacAddress(ipVO.getMacAddress())); allPublicIps.add(publicIp); } } @@ -2282,11 +2280,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian //Get public Ips that should be handled by router Network network = _networkDao.findById(guestNetworkId); - Map> ipToServices = _networkModel.getIpToServices(allPublicIps, false, true); - Map> providerToIpList = _networkModel.getProviderToIpList(network, ipToServices); + Map> ipToServices = _networkModel.getIpToServices(allPublicIps, false, true); + Map> providerToIpList = _networkModel.getProviderToIpList(network, ipToServices); // Only cover virtual router for now, if ELB use it this need to be modified - ArrayList publicIps = providerToIpList.get(provider); + ArrayList publicIps = providerToIpList.get(provider); return publicIps; } @@ -2520,7 +2518,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian return null; } - NetworkOfferingVO offering = _networkOfferingDao.findById(_networkDao.findById(defaultNic.getNetworkId()).getNetworkOfferingId()); + NetworkOffering offering = _networkOfferingDao.findById(_networkDao.findById(defaultNic.getNetworkId()).getNetworkOfferingId()); if (offering.getRedundantRouter()) { return findGatewayIp(userVmId); } diff --git a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java index 12af4baa24c..155aeb512e0 100644 --- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java @@ -30,7 +30,6 @@ import org.apache.log4j.Logger; import com.cloud.agent.AgentManager.OnError; import com.cloud.agent.api.Command; -import com.cloud.agent.api.GetDomRVersionCmd; import com.cloud.agent.api.NetworkUsageCommand; import com.cloud.agent.api.PlugNicAnswer; import com.cloud.agent.api.PlugNicCommand; @@ -105,7 +104,7 @@ import com.cloud.network.vpc.dao.StaticRouteDao; import com.cloud.network.vpc.dao.VpcDao; import com.cloud.network.vpc.dao.VpcOfferingDao; import com.cloud.network.vpn.Site2SiteVpnManager; -import com.cloud.offerings.NetworkOfferingVO; +import com.cloud.offering.NetworkOffering; import com.cloud.user.Account; import com.cloud.user.UserStatisticsVO; import com.cloud.utils.Pair; @@ -1235,7 +1234,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian publicNic.setBroadcastType(BroadcastDomainType.Vlan); publicNic.setBroadcastUri(BroadcastDomainType.Vlan.toUri(publicIp.getVlanTag())); publicNic.setIsolationUri(IsolationType.Vlan.toUri(publicIp.getVlanTag())); - NetworkOfferingVO publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemPublicNetwork).get(0); + NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0); List publicNetworks = _networkMgr.setupNetwork(_systemAcct, publicOffering, plan, null, null, false); networks.add(new Pair(publicNetworks.get(0), publicNic)); publicVlans.add(publicIp.getVlanTag()); diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index 8b55a325f6c..e4208811f23 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -83,6 +83,7 @@ import com.cloud.network.Networks.TrafficType; import com.cloud.network.dao.IPAddressDao; import com.cloud.network.dao.NetworkDao; import com.cloud.network.rules.RulesManager; +import com.cloud.offering.NetworkOffering; import com.cloud.offering.ServiceOffering; import com.cloud.offerings.NetworkOfferingVO; import com.cloud.offerings.dao.NetworkOfferingDao; @@ -550,14 +551,14 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V NetworkVO defaultNetwork = defaultNetworks.get(0); - List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemControlNetwork, NetworkOfferingVO.SystemManagementNetwork, NetworkOfferingVO.SystemStorageNetwork); + List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemControlNetwork, NetworkOfferingVO.SystemManagementNetwork, NetworkOfferingVO.SystemStorageNetwork); List> networks = new ArrayList>(offerings.size() + 1); NicProfile defaultNic = new NicProfile(); defaultNic.setDefaultNic(true); defaultNic.setDeviceId(2); try { networks.add(new Pair(_networkMgr.setupNetwork(systemAcct, _networkOfferingDao.findById(defaultNetwork.getNetworkOfferingId()), plan, null, null, false).get(0), defaultNic)); - for (NetworkOfferingVO offering : offerings) { + for (NetworkOffering offering : offerings) { networks.add(new Pair(_networkMgr.setupNetwork(systemAcct, offering, plan, null, null, false).get(0), null)); } } catch (ConcurrentOperationException e) { diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java old mode 100755 new mode 100644 index e470c03d971..a437e1f72b9 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2048,12 +2048,12 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager // If no network is specified, find system security group enabled network if (networkIdList == null || networkIdList.isEmpty()) { - NetworkVO networkWithSecurityGroup = _networkModel.getNetworkWithSecurityGroupEnabled(zone.getId()); + Network networkWithSecurityGroup = _networkModel.getNetworkWithSecurityGroupEnabled(zone.getId()); if (networkWithSecurityGroup == null) { throw new InvalidParameterValueException("No network with security enabled is found in zone id=" + zone.getId()); } - networkList.add(networkWithSecurityGroup); + networkList.add(_networkDao.findById(networkWithSecurityGroup.getId())); isSecurityGroupEnabledNetworkUsed = true; } else if (securityGroupIdList != null && !securityGroupIdList.isEmpty()) { @@ -2165,7 +2165,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager if (requiredOfferings.get(0).getState() == NetworkOffering.State.Enabled) { // get Virtual networks - List virtualNetworks = _networkModel.listNetworksForAccount(owner.getId(), zone.getId(), Network.GuestType.Isolated); + List virtualNetworks = _networkModel.listNetworksForAccount(owner.getId(), zone.getId(), Network.GuestType.Isolated); if (virtualNetworks.isEmpty()) { long physicalNetworkId = _networkModel.findPhysicalNetworkId(zone.getId(), requiredOfferings.get(0).getTags(), requiredOfferings.get(0).getTrafficType()); // Validate physical network @@ -3603,7 +3603,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager } if (requiredOfferings.get(0).getState() == NetworkOffering.State.Enabled) { // get Virtual networks - List virtualNetworks = _networkModel.listNetworksForAccount(newAccount.getId(), zone.getId(), Network.GuestType.Isolated); + List virtualNetworks = _networkModel.listNetworksForAccount(newAccount.getId(), zone.getId(), Network.GuestType.Isolated); if (virtualNetworks.isEmpty()) { long physicalNetworkId = _networkModel.findPhysicalNetworkId(zone.getId(), requiredOfferings.get(0).getTags(), requiredOfferings.get(0).getTrafficType()); // Validate physical network diff --git a/server/test/com/cloud/network/MockNetworkManagerImpl.java b/server/test/com/cloud/network/MockNetworkManagerImpl.java index 96201f0fbd2..0053d4a43b1 100755 --- a/server/test/com/cloud/network/MockNetworkManagerImpl.java +++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java @@ -174,14 +174,14 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS @Override - public List setupNetwork(Account owner, NetworkOfferingVO offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) + public List setupNetwork(Account owner, NetworkOffering offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) throws ConcurrentOperationException { // TODO Auto-generated method stub return null; } @Override - public List setupNetwork(Account owner, NetworkOfferingVO offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, + public List setupNetwork(Account owner, NetworkOffering offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, ACLType aclType, Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException { // TODO Auto-generated method stub return null; @@ -475,7 +475,7 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS */ @Override public boolean applyIpAssociations(Network network, boolean rulesRevoked, boolean continueOnError, - List publicIps) throws ResourceUnavailableException { + List publicIps) throws ResourceUnavailableException { // TODO Auto-generated method stub return false; } diff --git a/server/test/com/cloud/network/MockNetworkModelImpl.java b/server/test/com/cloud/network/MockNetworkModelImpl.java index 80b9c0fe628..76e7171788e 100644 --- a/server/test/com/cloud/network/MockNetworkModelImpl.java +++ b/server/test/com/cloud/network/MockNetworkModelImpl.java @@ -478,31 +478,11 @@ public class MockNetworkModelImpl implements NetworkModel, Manager { return false; } - /* (non-Javadoc) - * @see com.cloud.network.NetworkModel#getIpToServices(java.util.List, boolean, boolean) - */ - @Override - public Map> getIpToServices(List publicIps, boolean rulesRevoked, - boolean includingFirewall) { - // TODO Auto-generated method stub - return null; - } - - /* (non-Javadoc) - * @see com.cloud.network.NetworkModel#getProviderToIpList(com.cloud.network.Network, java.util.Map) - */ - @Override - public Map> getProviderToIpList(Network network, - Map> ipToServices) { - // TODO Auto-generated method stub - return null; - } - /* (non-Javadoc) * @see com.cloud.network.NetworkModel#checkIpForService(com.cloud.network.IPAddressVO, com.cloud.network.Network.Service, java.lang.Long) */ @Override - public boolean checkIpForService(IPAddressVO ip, Service service, Long networkId) { + public boolean checkIpForService(IpAddress ip, Service service, Long networkId) { // TODO Auto-generated method stub return false; } @@ -795,4 +775,24 @@ public class MockNetworkModelImpl implements NetworkModel, Manager { return null; } + /* (non-Javadoc) + * @see com.cloud.network.NetworkModel#getIpToServices(java.util.List, boolean, boolean) + */ + @Override + public Map> getIpToServices(List publicIps, boolean rulesRevoked, + boolean includingFirewall) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkModel#getProviderToIpList(com.cloud.network.Network, java.util.Map) + */ + @Override + public Map> getProviderToIpList(Network network, + Map> ipToServices) { + // TODO Auto-generated method stub + return null; + } + } diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java index 15bb830989e..beb0bd4d20b 100644 --- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java +++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java @@ -655,7 +655,7 @@ public class MockNetworkManagerImpl implements NetworkManager, NetworkService, M * @see com.cloud.network.NetworkManager#setupNetwork(com.cloud.user.Account, com.cloud.offerings.NetworkOfferingVO, com.cloud.deploy.DeploymentPlan, java.lang.String, java.lang.String, boolean) */ @Override - public List setupNetwork(Account owner, NetworkOfferingVO offering, DeploymentPlan plan, String name, + public List setupNetwork(Account owner, NetworkOffering offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) throws ConcurrentOperationException { // TODO Auto-generated method stub return null; @@ -669,7 +669,7 @@ public class MockNetworkManagerImpl implements NetworkManager, NetworkService, M * @see com.cloud.network.NetworkManager#setupNetwork(com.cloud.user.Account, com.cloud.offerings.NetworkOfferingVO, com.cloud.network.Network, com.cloud.deploy.DeploymentPlan, java.lang.String, java.lang.String, boolean, java.lang.Long, com.cloud.acl.ControlledEntity.ACLType, java.lang.Boolean, java.lang.Long) */ @Override - public List setupNetwork(Account owner, NetworkOfferingVO offering, Network predefined, + public List setupNetwork(Account owner, NetworkOffering offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, ACLType aclType, Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException { // TODO Auto-generated method stub @@ -892,7 +892,7 @@ public class MockNetworkManagerImpl implements NetworkManager, NetworkService, M */ @Override public boolean applyIpAssociations(Network network, boolean rulesRevoked, boolean continueOnError, - List publicIps) throws ResourceUnavailableException { + List publicIps) throws ResourceUnavailableException { // TODO Auto-generated method stub return false; }