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());