Updated Branches:
  refs/heads/master 9fe7846d7 -> 9f18f1cb1

CLOUDSTACK-2812: Static NAT rules are created with same name and Destination IP 
Pool for each Public IP with which only one instance is reachable with both 
Static NATed IP's
For static NAT rule an IP pool gets created in VNMC. In order to make the pool 
name unique the rule id is appended. Since static NAT rules are not stored in 
CS db. like PF/FW rules, the id was always set to 0.
As a result the pool was always getting overridden everytime a static NAT rule 
is created. Fixed it by appending the public IP address id along with a 
character indicating that the pool is used for static NAT rule to the pool name.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9f18f1cb
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9f18f1cb
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9f18f1cb

Branch: refs/heads/master
Commit: 9f18f1cb1cb4c11b61b687e745ef126775526b60
Parents: 9fe7846
Author: Koushik Das <[email protected]>
Authored: Wed Jun 5 15:23:34 2013 +0530
Committer: Koushik Das <[email protected]>
Committed: Wed Jun 5 15:41:36 2013 +0530

----------------------------------------------------------------------
 .../network/cisco/CiscoVnmcConnectionImpl.java     |    2 +-
 .../cloud/network/element/CiscoVnmcElement.java    |    2 +-
 .../cloud/network/resource/CiscoVnmcResource.java  |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9f18f1cb/plugins/network-elements/cisco-vnmc/src/com/cloud/network/cisco/CiscoVnmcConnectionImpl.java
----------------------------------------------------------------------
diff --git 
a/plugins/network-elements/cisco-vnmc/src/com/cloud/network/cisco/CiscoVnmcConnectionImpl.java
 
b/plugins/network-elements/cisco-vnmc/src/com/cloud/network/cisco/CiscoVnmcConnectionImpl.java
index 72ecc67..823be86 100644
--- 
a/plugins/network-elements/cisco-vnmc/src/com/cloud/network/cisco/CiscoVnmcConnectionImpl.java
+++ 
b/plugins/network-elements/cisco-vnmc/src/com/cloud/network/cisco/CiscoVnmcConnectionImpl.java
@@ -1070,7 +1070,7 @@ public class CiscoVnmcConnectionImpl implements 
CiscoVnmcConnection {
     }
 
     private String getNameForDNatIpPool(String tenantName, String identifier) {
-        return "IpPool-" + tenantName + "-" + identifier;
+        return "IpPool-" + tenantName + "-" + identifier + "n";
     }
 
     private String getDnForDNatIpPool(String tenantName, String identifier) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9f18f1cb/plugins/network-elements/cisco-vnmc/src/com/cloud/network/element/CiscoVnmcElement.java
----------------------------------------------------------------------
diff --git 
a/plugins/network-elements/cisco-vnmc/src/com/cloud/network/element/CiscoVnmcElement.java
 
b/plugins/network-elements/cisco-vnmc/src/com/cloud/network/element/CiscoVnmcElement.java
index 9118bad..553325c 100644
--- 
a/plugins/network-elements/cisco-vnmc/src/com/cloud/network/element/CiscoVnmcElement.java
+++ 
b/plugins/network-elements/cisco-vnmc/src/com/cloud/network/element/CiscoVnmcElement.java
@@ -807,7 +807,7 @@ public class CiscoVnmcElement extends AdapterBase 
implements SourceNatServicePro
         List<StaticNatRuleTO> rulesTO = new ArrayList<StaticNatRuleTO>();
         for (StaticNat rule : rules) {
             IpAddress sourceIp = 
_networkModel.getIp(rule.getSourceIpAddressId());
-            StaticNatRuleTO ruleTO = new StaticNatRuleTO(0, 
sourceIp.getAddress().addr(), null, 
+            StaticNatRuleTO ruleTO = new 
StaticNatRuleTO(rule.getSourceIpAddressId(), sourceIp.getAddress().addr(), null,
                     null, rule.getDestIpAddress(), null, null, null, 
rule.isForRevoke(), false);
             rulesTO.add(ruleTO);
         }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9f18f1cb/plugins/network-elements/cisco-vnmc/src/com/cloud/network/resource/CiscoVnmcResource.java
----------------------------------------------------------------------
diff --git 
a/plugins/network-elements/cisco-vnmc/src/com/cloud/network/resource/CiscoVnmcResource.java
 
b/plugins/network-elements/cisco-vnmc/src/com/cloud/network/resource/CiscoVnmcResource.java
index fc0c334..9524bf9 100644
--- 
a/plugins/network-elements/cisco-vnmc/src/com/cloud/network/resource/CiscoVnmcResource.java
+++ 
b/plugins/network-elements/cisco-vnmc/src/com/cloud/network/resource/CiscoVnmcResource.java
@@ -501,7 +501,7 @@ public class CiscoVnmcResource implements ServerResource {
     }
 
     /*
-     * Destination NAT
+     * PF
      */
     private synchronized Answer execute(SetPortForwardingRulesCommand cmd) {
         refreshVnmcConnection();

Reply via email to