VPC: added vpcId to SetStaticNatRule and CreateLoadBalancerConfig commands

Conflicts:

        server/src/com/cloud/network/element/NetscalerElement.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/a78fcedb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/a78fcedb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/a78fcedb

Branch: refs/heads/vpc
Commit: a78fcedb5e773f5c5becb01e1ce857bc09928fd1
Parents: 1a23217
Author: Alena Prokharchyk <[email protected]>
Authored: Tue Jun 26 13:35:52 2012 -0700
Committer: Alena Prokharchyk <[email protected]>
Committed: Thu Jun 28 10:13:19 2012 -0700

----------------------------------------------------------------------
 .../api/routing/LoadBalancerConfigCommand.java     |   11 +++++++++--
 .../api/routing/SetStaticNatRulesCommand.java      |    7 ++++++-
 .../network/ExternalFirewallDeviceManagerImpl.java |    2 +-
 .../ExternalLoadBalancerDeviceManagerImpl.java     |    4 ++--
 .../cloud/network/element/NetscalerElement.java    |    8 ++++----
 .../network/lb/ElasticLoadBalancerManagerImpl.java |    2 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |   10 ++++++----
 7 files changed, 29 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a78fcedb/api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java 
b/api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
index 8d3bf68..a5505e1 100644
--- a/api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
+++ b/api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
@@ -33,20 +33,23 @@ public class LoadBalancerConfigCommand extends 
NetworkElementCommand {
     public String lbStatsAuth = "admin1:AdMiN123";
     public String lbStatsUri = "/admin?stats";  
     NicTO nic;
+    Long vpcId;
     
     protected LoadBalancerConfigCommand() {
     }
     
-    public LoadBalancerConfigCommand(LoadBalancerTO[] loadBalancers) {
+    public LoadBalancerConfigCommand(LoadBalancerTO[] loadBalancers, Long 
vpcId) {
        this.loadBalancers = loadBalancers;
+       this.vpcId = vpcId;
     }
 
-    public LoadBalancerConfigCommand(LoadBalancerTO[] loadBalancers,String 
PublicIp,String GuestIp,String PrivateIp, NicTO nic) {
+    public LoadBalancerConfigCommand(LoadBalancerTO[] loadBalancers,String 
PublicIp,String GuestIp,String PrivateIp, NicTO nic, Long vpcId) {
        this.loadBalancers = loadBalancers;
        this.lbStatsPublicIP = PublicIp;
        this.lbStatsPrivateIP = PrivateIp;
        this.lbStatsGuestIP = GuestIp;
        this.nic = nic;
+       this.vpcId = vpcId;
     }
     
     public NicTO getNic() {
@@ -56,4 +59,8 @@ public class LoadBalancerConfigCommand extends 
NetworkElementCommand {
        public LoadBalancerTO[] getLoadBalancers() {
         return loadBalancers;
     }
+
+    public Long getVpcId() {
+        return vpcId;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a78fcedb/api/src/com/cloud/agent/api/routing/SetStaticNatRulesCommand.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/agent/api/routing/SetStaticNatRulesCommand.java 
b/api/src/com/cloud/agent/api/routing/SetStaticNatRulesCommand.java
index 6558ade..c28032c 100644
--- a/api/src/com/cloud/agent/api/routing/SetStaticNatRulesCommand.java
+++ b/api/src/com/cloud/agent/api/routing/SetStaticNatRulesCommand.java
@@ -23,20 +23,25 @@ import com.cloud.agent.api.to.StaticNatRuleTO;
 public class SetStaticNatRulesCommand extends NetworkElementCommand{
     
     StaticNatRuleTO[] rules;
+    Long vpcId;
 
     protected SetStaticNatRulesCommand() {
     }
     
-    public SetStaticNatRulesCommand(List<? extends StaticNatRuleTO> 
staticNatRules) {
+    public SetStaticNatRulesCommand(List<? extends StaticNatRuleTO> 
staticNatRules, Long vpcId) {
         rules = new StaticNatRuleTO[staticNatRules.size()];
         int i = 0;
         for (StaticNatRuleTO rule : staticNatRules) {
             rules[i++] = rule;
         }
+        this.vpcId = vpcId;
     }
     
     public StaticNatRuleTO[] getRules() {
         return rules;
     }
 
+    public Long getVpcId() {
+        return vpcId;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a78fcedb/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java 
b/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
index ad7372b..932b179 100644
--- a/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
@@ -492,7 +492,7 @@ public abstract class ExternalFirewallDeviceManagerImpl 
extends AdapterBase impl
 
     protected void applyStaticNatRules(List<StaticNatRuleTO> staticNatRules, 
DataCenter zone, long externalFirewallId) throws ResourceUnavailableException {
         if (!staticNatRules.isEmpty()) {
-            SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(staticNatRules);
+            SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(staticNatRules, null);
             Answer answer = _agentMgr.easySend(externalFirewallId, cmd);
             if (answer == null || !answer.getResult()) {
                 String details = (answer != null) ? answer.getDetails() : 
"details unavailable";

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a78fcedb/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java 
b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
index c91f4ca..409970d 100644
--- a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
@@ -744,7 +744,7 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl 
extends AdapterBase
 
     protected void applyStaticNatRules(List<StaticNatRuleTO> staticNatRules, 
Network network, long firewallHostId) throws ResourceUnavailableException {
         if (!staticNatRules.isEmpty()) {
-            SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(staticNatRules);
+            SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(staticNatRules, null);
             Answer answer = _agentMgr.easySend(firewallHostId, cmd);
             if (answer == null || !answer.getResult()) {
                 String details = (answer != null) ? answer.getDetails() : 
"details unavailable";
@@ -869,7 +869,7 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl 
extends AdapterBase
         if (loadBalancersToApply.size() > 0) {
             int numLoadBalancersForCommand = loadBalancersToApply.size();
             LoadBalancerTO[] loadBalancersForCommand = 
loadBalancersToApply.toArray(new LoadBalancerTO[numLoadBalancersForCommand]);
-            LoadBalancerConfigCommand cmd = new 
LoadBalancerConfigCommand(loadBalancersForCommand);
+            LoadBalancerConfigCommand cmd = new 
LoadBalancerConfigCommand(loadBalancersForCommand, null);
             long guestVlanTag = 
Integer.parseInt(network.getBroadcastUri().getHost());
             cmd.setAccessDetail(NetworkElementCommand.GUEST_VLAN_TAG, 
String.valueOf(guestVlanTag));
             Answer answer = _agentMgr.easySend(externalLoadBalancer.getId(), 
cmd);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a78fcedb/server/src/com/cloud/network/element/NetscalerElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/NetscalerElement.java 
b/server/src/com/cloud/network/element/NetscalerElement.java
index 0526274..b24a251 100644
--- a/server/src/com/cloud/network/element/NetscalerElement.java
+++ b/server/src/com/cloud/network/element/NetscalerElement.java
@@ -41,9 +41,9 @@ import com.cloud.configuration.Config;
 import com.cloud.configuration.ConfigurationManager;
 import com.cloud.configuration.dao.ConfigurationDao;
 import com.cloud.dc.DataCenter;
+import com.cloud.dc.DataCenter.NetworkType;
 import com.cloud.dc.DataCenterIpAddressVO;
 import com.cloud.dc.HostPodVO;
-import com.cloud.dc.DataCenter.NetworkType;
 import com.cloud.dc.dao.DataCenterDao;
 import com.cloud.dc.dao.DataCenterIpAddressDao;
 import com.cloud.deploy.DeployDestination;
@@ -667,7 +667,7 @@ public class NetscalerElement extends 
ExternalLoadBalancerDeviceManagerImpl impl
         if (loadBalancersToApply.size() > 0) {
             int numLoadBalancersForCommand = loadBalancersToApply.size();
             LoadBalancerTO[] loadBalancersForCommand = 
loadBalancersToApply.toArray(new LoadBalancerTO[numLoadBalancersForCommand]);
-            LoadBalancerConfigCommand cmd = new 
LoadBalancerConfigCommand(loadBalancersForCommand);
+            LoadBalancerConfigCommand cmd = new 
LoadBalancerConfigCommand(loadBalancersForCommand, null);
 
             HostVO externalLoadBalancer = 
_hostDao.findById(lbDeviceVO.getHostId());
             Answer answer = _agentMgr.easySend(externalLoadBalancer.getId(), 
cmd);
@@ -721,7 +721,7 @@ public class NetscalerElement extends 
ExternalLoadBalancerDeviceManagerImpl impl
                     }
                 }
 
-                SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(rulesTO);
+                SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(rulesTO, null);
                 answer = (SetStaticNatRulesAnswer) 
_agentMgr.send(lbDevice.getHostId(), cmd);
                 if (answer == null) {
                     return false;
@@ -743,7 +743,7 @@ public class NetscalerElement extends 
ExternalLoadBalancerDeviceManagerImpl impl
                         IpAddress sourceIp = 
_networkMgr.getIp(rule.getSourceIpAddressId());
                         StaticNatRuleTO ruleTO = new StaticNatRuleTO(0, 
sourceIp.getAddress().addr(), null, null, rule.getDestIpAddress(), null, null, 
null, rule.isForRevoke(), false);
                         rulesTO.add(ruleTO);
-                        SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(rulesTO);
+                        SetStaticNatRulesCommand cmd = new 
SetStaticNatRulesCommand(rulesTO, null);
 
                         // send commands to configure INAT rule on the 
NetScaler device
                         SetStaticNatRulesAnswer answer = 
(SetStaticNatRulesAnswer) _agentMgr.send(lbDevice.getHostId(), cmd);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a78fcedb/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java 
b/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
index 5b0a194..704d400 100644
--- a/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
+++ b/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
@@ -299,7 +299,7 @@ public class ElasticLoadBalancerManagerImpl implements
         }
 
         LoadBalancerConfigCommand cmd = new 
LoadBalancerConfigCommand(lbs,elbVm.getPublicIpAddress(),
-                _nicDao.getIpAddress(guestNetworkId, 
elbVm.getId()),elbVm.getPrivateIpAddress(), null);
+                _nicDao.getIpAddress(guestNetworkId, 
elbVm.getId()),elbVm.getPrivateIpAddress(), null, null);
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP,
                 elbVm.getPrivateIpAddress());
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME,

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a78fcedb/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 4daff6b..1a57bce 100755
--- 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -2591,7 +2591,7 @@ public class VirtualNetworkApplianceManagerImpl 
implements VirtualNetworkApplian
             }
         }
 
-        SetStaticNatRulesCommand cmd = new SetStaticNatRulesCommand(rulesTO);
+        SetStaticNatRulesCommand cmd = new SetStaticNatRulesCommand(rulesTO, 
router.getVpcId());
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, 
getRouterControlIp(router.getId()));
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, 
getRouterIpInNetwork(guestNetworkId, router.getId()));
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, 
router.getInstanceName());
@@ -2631,7 +2631,8 @@ public class VirtualNetworkApplianceManagerImpl 
implements VirtualNetworkApplian
                 _networkMgr.getNetworkTag(router.getHypervisorType(), 
guestNetwork));
 
         LoadBalancerConfigCommand cmd = new 
LoadBalancerConfigCommand(lbs,RouterPublicIp, 
-                getRouterIpInNetwork(guestNetworkId, 
router.getId()),router.getPrivateIpAddress(), _itMgr.toNicTO(nicProfile, 
router.getHypervisorType()));
+                getRouterIpInNetwork(guestNetworkId, 
router.getId()),router.getPrivateIpAddress(), 
+                _itMgr.toNicTO(nicProfile, router.getHypervisorType()), 
router.getVpcId());
 
         cmd.lbStatsVisibility = 
_configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key());
         cmd.lbStatsUri = 
_configDao.getValue(Config.NetworkLBHaproxyStatsUri.key());
@@ -3070,7 +3071,8 @@ public class VirtualNetworkApplianceManagerImpl 
implements VirtualNetworkApplian
         return sendCommandsToRouter(router, cmds);
     }
 
-    private void createApplyStaticNatCommands(List<? extends StaticNat> rules, 
VirtualRouter router, Commands cmds, long guestNetworkId) {
+    private void createApplyStaticNatCommands(List<? extends StaticNat> rules, 
VirtualRouter router, Commands cmds,
+            long guestNetworkId) {
         List<StaticNatRuleTO> rulesTO = null;
         if (rules != null) {
             rulesTO = new ArrayList<StaticNatRuleTO>();
@@ -3082,7 +3084,7 @@ public class VirtualNetworkApplianceManagerImpl 
implements VirtualNetworkApplian
             }
         }
 
-        SetStaticNatRulesCommand cmd = new SetStaticNatRulesCommand(rulesTO);
+        SetStaticNatRulesCommand cmd = new SetStaticNatRulesCommand(rulesTO, 
router.getVpcId());
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, 
getRouterControlIp(router.getId()));
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, 
getRouterIpInNetwork(guestNetworkId, router.getId()));
         cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, 
router.getInstanceName());

Reply via email to