VPC:
1) CS-15692 - ipAddress is always null for NetworkACL rule
2) CS-15699 - redundant router = true when provider is VirtualRouter
3) CS-15701 - fixed error message
Conflicts:
server/src/com/cloud/network/vpc/VpcManagerImpl.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/19032928
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/19032928
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/19032928
Branch: refs/heads/vpc
Commit: 190329286c9ce8a212a145e829af76eed439bcc8
Parents: 110903a
Author: Alena Prokharchyk <[email protected]>
Authored: Thu Jul 26 09:41:18 2012 -0700
Committer: Alena Prokharchyk <[email protected]>
Committed: Fri Jul 27 13:55:39 2012 -0700
----------------------------------------------------------------------
awsapi.log.2012-07-25.gz | Bin 0 -> 1037 bytes
.../network/element/VpcVirtualRouterElement.java | 6 ++++--
.../network/firewall/FirewallManagerImpl.java | 8 +++++---
.../VpcVirtualNetworkApplianceManagerImpl.java | 2 +-
.../src/com/cloud/network/vpc/VpcManagerImpl.java | 3 +--
5 files changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/19032928/awsapi.log.2012-07-25.gz
----------------------------------------------------------------------
diff --git a/awsapi.log.2012-07-25.gz b/awsapi.log.2012-07-25.gz
new file mode 100644
index 0000000..02fd067
Binary files /dev/null and b/awsapi.log.2012-07-25.gz differ
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/19032928/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 0e71352..77ae4d4 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -287,11 +287,13 @@ public class VpcVirtualRouterElement extends
VirtualRouterElement implements Vpc
Map<Service, Map<Capability, String>> capabilities = new
HashMap<Service, Map<Capability, String>>();
capabilities.putAll(VirtualRouterElement.capabilities);
- Map<Capability, String> sourceNatCapabilities =
capabilities.get(Service.SourceNat);
+ Map<Capability, String> sourceNatCapabilities = new
HashMap<Capability, String>();
+ sourceNatCapabilities.putAll(capabilities.get(Service.SourceNat));
sourceNatCapabilities.put(Capability.RedundantRouter, "false");
capabilities.put(Service.SourceNat, sourceNatCapabilities);
- Map<Capability, String> vpnCapabilities =
capabilities.get(Service.Vpn);
+ Map<Capability, String> vpnCapabilities = new HashMap<Capability,
String>();
+ vpnCapabilities.putAll(capabilities.get(Service.Vpn));
vpnCapabilities.put(Capability.VpnTypes, "s2svpn");
capabilities.put(Service.Vpn, vpnCapabilities);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/19032928/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
index 854d346..fe45806 100644
--- a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
+++ b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java
@@ -455,9 +455,11 @@ public class FirewallManagerImpl implements
FirewallService, FirewallManager, Ma
//remove the rule
_firewallDao.remove(rule.getId());
- //if the rule is the last one for the ip address assigned to VPC,
unassign it from the network
- IpAddress ip = _ipAddressDao.findById(rule.getSourceIpAddressId());
- _networkMgr.unassignIPFromVpcNetwork(ip.getId(), rule.getNetworkId());
+ if (rule.getSourceIpAddressId() != null) {
+ //if the rule is the last one for the ip address assigned to VPC,
unassign it from the network
+ IpAddress ip = _ipAddressDao.findById(rule.getSourceIpAddressId());
+ _networkMgr.unassignIPFromVpcNetwork(ip.getId(),
rule.getNetworkId());
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/19032928/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 03aeed8..5da7534 100644
---
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -881,7 +881,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends
VirtualNetworkApplian
super.finalizeNetworkRulesForNetwork(cmds, router, provider,
guestNetworkId);
- if (router.getVpcId() == null) {
+ 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
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/19032928/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index d6977f2..b3475f2 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -893,8 +893,7 @@ public class VpcManagerImpl implements VpcManager, Manager{
&&
_ntwkMgr.areServicesSupportedByNetworkOffering(guestNtwkOff.getId(),
Service.SourceNat))) {
throw new InvalidParameterValueException("Only networks of type "
+ GuestType.Isolated + " with service "
- + Service.SourceNat +
- " can be added as a part of VPC");
+ + Service.SourceNat + " can be added as a part of VPC");
}
//3) No redundant router support