You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/07/25 01:11:41 UTC
[2/38] git commit: VPC: CS-15681 - execute VPC related methods only
when router is a vpc router
VPC: CS-15681 - execute VPC related methods only when router is a vpc router
Conflicts:
server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/119e4e74
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/119e4e74
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/119e4e74
Branch: refs/heads/vpc
Commit: 119e4e744367cc9d415500191d26cb902571f256
Parents: 12ee881
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Tue Jul 24 16:06:47 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Jul 24 16:12:13 2012 -0700
----------------------------------------------------------------------
.../network/VpcVirtualNetworkApplianceService.java | 2 +-
.../network/element/VpcVirtualRouterElement.java | 4 +-
.../VpcVirtualNetworkApplianceManagerImpl.java | 29 ++++++++++-----
3 files changed, 22 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/119e4e74/api/src/com/cloud/network/VpcVirtualNetworkApplianceService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/VpcVirtualNetworkApplianceService.java b/api/src/com/cloud/network/VpcVirtualNetworkApplianceService.java
index 81df02f..b597463 100644
--- a/api/src/com/cloud/network/VpcVirtualNetworkApplianceService.java
+++ b/api/src/com/cloud/network/VpcVirtualNetworkApplianceService.java
@@ -43,7 +43,7 @@ public interface VpcVirtualNetworkApplianceService {
* @throws ConcurrentOperationException
* @throws ResourceUnavailableException
*/
- boolean removeRouterFromGuestNetwork(VirtualRouter router, Network network, boolean isRedundant)
+ boolean removeVpcRouterFromGuestNetwork(VirtualRouter router, Network network, boolean isRedundant)
throws ConcurrentOperationException, ResourceUnavailableException;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/119e4e74/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index 78d1ff4..0e71352 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -239,7 +239,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
continue;
}
//2) Call unplugNics in the network service
- success = success && _vpcRouterMgr.removeRouterFromGuestNetwork(router, network, false);
+ success = success && _vpcRouterMgr.removeVpcRouterFromGuestNetwork(router, network, false);
if (!success) {
s_logger.warn("Failed to unplug nic in network " + network + " for virtual router " + router);
} else {
@@ -267,7 +267,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
continue;
}
//2) Call unplugNics in the network service
- success = success && _vpcRouterMgr.removeRouterFromGuestNetwork(router, config, false);
+ success = success && _vpcRouterMgr.removeVpcRouterFromGuestNetwork(router, config, false);
if (!success) {
s_logger.warn("Failed to unplug nic in network " + config + " for virtual router " + router);
} else {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/119e4e74/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
index b9d972b..2560aec 100644
--- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -76,8 +76,6 @@ import com.cloud.network.PhysicalNetworkServiceProvider;
import com.cloud.network.PublicIpAddress;
import com.cloud.network.Site2SiteCustomerGatewayVO;
import com.cloud.network.Site2SiteVpnConnection;
-import com.cloud.network.Site2SiteVpnConnectionVO;
-import com.cloud.network.Site2SiteVpnGateway;
import com.cloud.network.Site2SiteVpnGatewayVO;
import com.cloud.network.VirtualRouterProvider;
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
@@ -260,7 +258,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
} finally {
if (!result) {
s_logger.debug("Removing the router " + router + " from network " + network + " as a part of cleanup");
- if (removeRouterFromGuestNetwork(router, network, isRedundant)) {
+ if (removeVpcRouterFromGuestNetwork(router, network, isRedundant)) {
s_logger.debug("Removed the router " + router + " from network " + network + " as a part of cleanup");
} else {
s_logger.warn("Failed to remove the router " + router + " from network " + network + " as a part of cleanup");
@@ -274,7 +272,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
}
@Override
- public boolean removeRouterFromGuestNetwork(VirtualRouter router, Network network, boolean isRedundant)
+ public boolean removeVpcRouterFromGuestNetwork(VirtualRouter router, Network network, boolean isRedundant)
throws ConcurrentOperationException, ResourceUnavailableException {
if (network.getTrafficType() != TrafficType.Guest) {
s_logger.warn("Network " + network + " is not of type " + TrafficType.Guest);
@@ -542,6 +540,10 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
//only one router is supported in VPC now
VirtualRouter router = routers.get(0);
+ if (router.getVpcId() == null) {
+ return super.associatePublicIP(network, ipAddress, routers);
+ }
+
Pair<Map<String, PublicIpAddress>, Map<String, PublicIpAddress>> nicsToChange = getNicsToChangeOnRouter(ipAddress, router);
Map<String, PublicIpAddress> nicsToPlug = nicsToChange.first();
Map<String, PublicIpAddress> nicsToUnplug = nicsToChange.second();
@@ -850,12 +852,14 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
super.finalizeNetworkRulesForNetwork(cmds, router, provider, guestNetworkId);
- if (_networkMgr.isProviderSupportServiceInNetwork(guestNetworkId, Service.NetworkACL, Provider.VPCVirtualRouter)) {
- List<? extends FirewallRule> networkACLs = _networkACLMgr.listNetworkACLs(guestNetworkId);
- s_logger.debug("Found " + networkACLs.size() + " network ACLs to apply as a part of VPC VR " + router
- + " start for guest network id=" + guestNetworkId);
- if (!networkACLs.isEmpty()) {
- createNetworkACLsCommands(networkACLs, router, cmds, guestNetworkId);
+ if (router.getVpcId() == null) {
+ if (_networkMgr.isProviderSupportServiceInNetwork(guestNetworkId, Service.NetworkACL, Provider.VPCVirtualRouter)) {
+ List<? extends FirewallRule> networkACLs = _networkACLMgr.listNetworkACLs(guestNetworkId);
+ s_logger.debug("Found " + networkACLs.size() + " network ACLs to apply as a part of VPC VR " + router
+ + " start for guest network id=" + guestNetworkId);
+ if (!networkACLs.isEmpty()) {
+ createNetworkACLsCommands(networkACLs, router, cmds, guestNetworkId);
+ }
}
}
}
@@ -962,6 +966,11 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
protected void finalizeIpAssocForNetwork(Commands cmds, VirtualRouter router, Provider provider,
Long guestNetworkId) {
+ if (router.getVpcId() == null) {
+ super.finalizeIpAssocForNetwork(cmds, router, provider, guestNetworkId);
+ return;
+ }
+
ArrayList<? extends PublicIpAddress> publicIps = getPublicIpsToApply(router, provider, guestNetworkId, IpAddress.State.Releasing);
if (publicIps != null && !publicIps.isEmpty()) {