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

Reply via email to