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; }