You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ch...@apache.org on 2013/01/18 02:01:22 UTC
[31/39] Merge branch 'master' into network-refactor-merge2
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/firewall/FirewallManagerImpl.java
index 60c5bf3,340e872..7bab1ba
--- a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
+++ b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
@@@ -75,10 -66,8 +75,9 @@@ import com.cloud.user.Account
import com.cloud.user.AccountManager;
import com.cloud.user.DomainManager;
import com.cloud.user.UserContext;
- import com.cloud.utils.IdentityProxy;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
+import com.cloud.utils.component.Adapters;
import com.cloud.utils.component.Inject;
import com.cloud.utils.component.Manager;
import com.cloud.utils.db.DB;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 2a2a625,717da05..e1c78e1
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@@ -803,15 -823,18 +826,18 @@@ public class VirtualNetworkApplianceMan
String privateIP = router.getPrivateIpAddress();
if (privateIP != null) {
+ boolean forVpc = router.getVpcId() != null;
List<? extends Nic> routerNics = _nicDao.listByVmId(router.getId());
for (Nic routerNic : routerNics) {
- Network network = _networkMgr.getNetwork(routerNic.getNetworkId());
+ Network network = _networkModel.getNetwork(routerNic.getNetworkId());
- if (network.getTrafficType() == TrafficType.Public) {
- boolean forVpc = router.getVpcId() != null;
+ //Send network usage command for public nic in VPC VR
+ //Send network usage command for isolated guest nic of non VPC VR
+ if ((forVpc && network.getTrafficType() == TrafficType.Public) || (!forVpc && network.getTrafficType() == TrafficType.Guest && network.getGuestType() == Network.GuestType.Isolated)) {
final NetworkUsageCommand usageCmd = new NetworkUsageCommand(privateIP, router.getHostName(),
forVpc, routerNic.getIp4Address());
- UserStatisticsVO previousStats = _statsDao.findBy(router.getAccountId(),
- router.getDataCenterIdToDeployIn(), network.getId(), null, router.getId(), router.getType().toString());
+ String routerType = router.getType().toString();
+ UserStatisticsVO previousStats = _statsDao.findBy(router.getAccountId(),
+ router.getDataCenterIdToDeployIn(), network.getId(), (forVpc ? routerNic.getIp4Address() : null), router.getId(), routerType);
NetworkUsageAnswer answer = null;
try {
answer = (NetworkUsageAnswer) _agentMgr.easySend(router.getHostId(), usageCmd);
@@@ -1653,8 -1697,15 +1702,15 @@@
if (hasGuestNetwork) {
defaultNic.setDeviceId(2);
}
- NetworkOfferingVO publicOffering = _networkMgr.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemPublicNetwork).get(0);
+ NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0);
List<NetworkVO> publicNetworks = _networkMgr.setupNetwork(_systemAcct, publicOffering, plan, null, null, false);
+ String publicIp = defaultNic.getIp4Address();
+ // We want to use the identical MAC address for RvR on public interface if possible
+ NicVO peerNic = _nicDao.findByIp4AddressAndNetworkId(publicIp, publicNetworks.get(0).getId());
+ if (peerNic != null) {
+ s_logger.info("Use same MAC as previous RvR, the MAC is " + peerNic.getMacAddress());
+ defaultNic.setMacAddress(peerNic.getMacAddress());
+ }
networks.add(new Pair<NetworkVO, NicProfile>(publicNetworks.get(0), defaultNic));
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/rules/RulesManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/rules/RulesManagerImpl.java
index 1548afe,a75aca3..fc12660
--- a/server/src/com/cloud/network/rules/RulesManagerImpl.java
+++ b/server/src/com/cloud/network/rules/RulesManagerImpl.java
@@@ -1173,15 -1170,14 +1173,14 @@@ public class RulesManagerImpl implement
// if network has elastic IP functionality supported, we first have to disable static nat on old ip in order to
// re-enable it on the new one enable static nat takes care of that
- Network guestNetwork = _networkMgr.getNetwork(ipAddress.getAssociatedWithNetworkId());
+ Network guestNetwork = _networkModel.getNetwork(ipAddress.getAssociatedWithNetworkId());
NetworkOffering offering = _configMgr.getNetworkOffering(guestNetwork.getNetworkOfferingId());
if (offering.getElasticIp()) {
- if (offering.getAssociatePublicIP()) {
- getSystemIpAndEnableStaticNatForVm(_vmDao.findById(vmId), true);
- return true;
- }
+ getSystemIpAndEnableStaticNatForVm(_vmDao.findById(vmId), true);
+ return true;
+ } else {
+ return disableStaticNat(ipId, caller, ctx.getCallerUserId(), false);
}
- return disableStaticNat(ipId, caller, ctx.getCallerUserId(), false);
}
@Override
@@@ -1364,14 -1360,9 +1363,9 @@@
// enable static nat if eIp capability is supported
List<? extends Nic> nics = _nicDao.listByVmId(vm.getId());
for (Nic nic : nics) {
- Network guestNetwork = _networkMgr.getNetwork(nic.getNetworkId());
+ Network guestNetwork = _networkModel.getNetwork(nic.getNetworkId());
NetworkOffering offering = _configMgr.getNetworkOffering(guestNetwork.getNetworkOfferingId());
if (offering.getElasticIp()) {
- boolean isSystemVM = (vm.getType() == Type.ConsoleProxy || vm.getType() == Type.SecondaryStorageVm);
- // for user VM's associate public IP only if offering is marked to associate a public IP by default on start of VM
- if (!isSystemVM && !offering.getAssociatePublicIP()) {
- continue;
- }
// check if there is already static nat enabled
if (_ipAddressDao.findByAssociatedVmId(vm.getId()) != null && !getNewIp) {
s_logger.debug("Vm " + vm + " already has ip associated with it in guest network " + guestNetwork);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/vpc/VpcManagerImpl.java
index e95c54f,7448cc3..fa6bd30
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@@ -987,9 -981,9 +987,9 @@@ public class VpcManagerImpl implements
//skip my own network
continue;
} else {
- if (_ntwkMgr.areServicesSupportedInNetwork(network.getId(), Service.Lb)) {
+ if (_ntwkModel.areServicesSupportedInNetwork(network.getId(), Service.Lb)) {
throw new InvalidParameterValueException("LB service is already supported " +
- "by network " + network + " in VPC " + vpc);
+ "by network " + network + " in VPC " + vpc);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/storage/StorageManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/vm/UserVmManagerImpl.java
index a437e1f,a6fbdb1..5891056
mode 100644,100755..100644
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@@ -2208,10 -2214,10 +2216,10 @@@ public class UserVmManagerImpl implemen
}
}
-
- _networkMgr.checkNetworkPermissions(owner, network);
+
+ _networkModel.checkNetworkPermissions(owner, network);
- //don't allow to use system networks
+ //don't allow to use system networks
NetworkOffering networkOffering = _configMgr.getNetworkOffering(network.getNetworkOfferingId());
if (networkOffering.isSystemOnly()) {
throw new InvalidParameterValueException("Network id=" + networkId + " is system only and can't be used for vm deployment");
@@@ -3582,9 -3508,9 +3510,9 @@@
throw ex;
}
- _networkMgr.checkNetworkPermissions(newAccount, network);
+ _networkModel.checkNetworkPermissions(newAccount, network);
- //don't allow to use system networks
+ //don't allow to use system networks
NetworkOffering networkOffering = _configMgr.getNetworkOffering(network.getNetworkOfferingId());
if (networkOffering.isSystemOnly()) {
InvalidParameterValueException ex = new InvalidParameterValueException("Specified Network id is system only and can't be used for vm deployment");
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/test/com/cloud/network/MockNetworkManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/test/com/cloud/network/security/SecurityGroupManagerImpl2Test.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/test/com/cloud/user/MockDomainManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cadca5fc/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --cc server/test/com/cloud/vpc/MockNetworkManagerImpl.java
index 1a3cbae,642ea10..78d2ea2
--- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
@@@ -553,12 -430,8 +551,12 @@@ public class MockNetworkManagerImpl imp
return null;
}
+
+
+
+
/* (non-Javadoc)
- * @see com.cloud.network.NetworkService#listTrafficTypeImplementor(com.cloud.api.commands.ListTrafficTypeImplementorsCmd)
+ * @see com.cloud.network.NetworkService#listTrafficTypeImplementor(org.apache.cloudstack.api.commands.ListTrafficTypeImplementorsCmd)
*/
@Override
public List<Pair<TrafficType, String>> listTrafficTypeImplementor(ListTrafficTypeImplementorsCmd cmd) {
@@@ -649,17 -530,12 +647,17 @@@
return null;
}
+
+
+
+
/* (non-Javadoc)
- * @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)
+ * @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, org.apache.cloudstack.acl.ControlledEntity.ACLType, java.lang.Boolean, java.lang.Long)
*/
@Override
- public List<NetworkVO> setupNetwork(Account owner, NetworkOfferingVO offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, ACLType aclType,
- Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException {
+ public List<NetworkVO> 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;
}
@@@ -814,18 -722,12 +812,18 @@@
return false;
}
+
+
+
+
/* (non-Javadoc)
- * @see com.cloud.network.NetworkManager#createGuestNetwork(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.cloud.user.Account, java.lang.Long, com.cloud.network.PhysicalNetwork, long, com.cloud.acl.ControlledEntity.ACLType, java.lang.Boolean, java.lang.Long)
+ * @see com.cloud.network.NetworkManager#createGuestNetwork(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.cloud.user.Account, java.lang.Long, com.cloud.network.PhysicalNetwork, long, org.apache.cloudstack.acl.ControlledEntity.ACLType, java.lang.Boolean, java.lang.Long)
*/
@Override
- public Network createGuestNetwork(long networkOfferingId, String name, String displayText, String gateway, String cidr, String vlanId, String networkDomain, Account owner, Long domainId,
- PhysicalNetwork physicalNetwork, long zoneId, ACLType aclType, Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException, InsufficientCapacityException, ResourceAllocationException {
+ public Network createGuestNetwork(long networkOfferingId, String name, String displayText, String gateway,
+ String cidr, String vlanId, String networkDomain, Account owner, Long domainId,
+ PhysicalNetwork physicalNetwork, long zoneId, ACLType aclType, Boolean subdomainAccess, Long vpcId)
+ throws ConcurrentOperationException, InsufficientCapacityException, ResourceAllocationException {
// TODO Auto-generated method stub
return null;
}
@@@ -1253,14 -1477,41 +1251,41 @@@
/* (non-Javadoc)
- * @see com.cloud.network.NetworkManager#getNetworkLockTimeout()
+ * @see com.cloud.network.NetworkManager#finalizeServicesAndProvidersForNetwork(com.cloud.offering.NetworkOffering, java.lang.Long)
*/
@Override
- public int getNetworkLockTimeout() {
+ public Map<String, String> finalizeServicesAndProvidersForNetwork(NetworkOffering offering, Long physicalNetworkId) {
// TODO Auto-generated method stub
- return 0;
+ return null;
}
-
+ @Override
+ public boolean isNetworkInlineMode(Network network) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public List<Provider> getProvidersForServiceInNetwork(Network network, Service service) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public StaticNatServiceProvider getStaticNatProviderForNetwork(Network network) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public int getRuleCountForIp(Long addressId, Purpose purpose, State state) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+ @Override
+ public LoadBalancingServiceProvider getLoadBalancingProviderForNetwork(Network network) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}