You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/06/04 18:11:54 UTC
[8/8] git commit: updated refs/heads/vpc_simulator to 930ca7f
Provide dummy implementations
Signed-off-by: Prasanna Santhanam <ts...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/930ca7f2
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/930ca7f2
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/930ca7f2
Branch: refs/heads/vpc_simulator
Commit: 930ca7f22215013131bdca3281da4727a9f70433
Parents: ceebd83
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Jun 4 21:40:30 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Tue Jun 4 21:41:35 2013 +0530
----------------------------------------------------------------------
.../cloud/agent/manager/MockNetworkManager.java | 24 ++-
.../agent/manager/MockNetworkManagerImpl.java | 120 +++++++++++++--
.../cloud/agent/manager/SimulatorManagerImpl.java | 2 +
3 files changed, 123 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/930ca7f2/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManager.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManager.java
index 61a556a..0f59319 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManager.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManager.java
@@ -22,19 +22,27 @@ package com.cloud.agent.manager;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.CheckS2SVpnConnectionsCommand;
import com.cloud.agent.api.NetworkUsageCommand;
+import com.cloud.agent.api.PlugNicAnswer;
import com.cloud.agent.api.PlugNicCommand;
import com.cloud.agent.api.PvlanSetupCommand;
+import com.cloud.agent.api.UnPlugNicAnswer;
import com.cloud.agent.api.UnPlugNicCommand;
import com.cloud.agent.api.routing.DhcpEntryCommand;
+import com.cloud.agent.api.routing.IpAssocAnswer;
import com.cloud.agent.api.routing.IpAssocCommand;
import com.cloud.agent.api.routing.IpAssocVpcCommand;
import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
import com.cloud.agent.api.routing.SetFirewallRulesCommand;
+import com.cloud.agent.api.routing.SetNetworkACLAnswer;
import com.cloud.agent.api.routing.SetNetworkACLCommand;
+import com.cloud.agent.api.routing.SetPortForwardingRulesAnswer;
import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand;
+import com.cloud.agent.api.routing.SetSourceNatAnswer;
import com.cloud.agent.api.routing.SetSourceNatCommand;
+import com.cloud.agent.api.routing.SetStaticNatRulesAnswer;
import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
+import com.cloud.agent.api.routing.SetStaticRouteAnswer;
import com.cloud.agent.api.routing.SetStaticRouteCommand;
import com.cloud.agent.api.routing.Site2SiteVpnCfgCommand;
import com.cloud.utils.component.Manager;
@@ -57,19 +65,21 @@ public interface MockNetworkManager extends Manager {
Answer setupPVLAN(PvlanSetupCommand cmd);
- Answer plugNic(PlugNicCommand cmd);
+ PlugNicAnswer plugNic(PlugNicCommand cmd);
- Answer unplugNic(UnPlugNicCommand cmd);
+ UnPlugNicAnswer unplugNic(UnPlugNicCommand cmd);
- Answer ipAssoc(IpAssocVpcCommand cmd);
+ IpAssocAnswer ipAssoc(IpAssocVpcCommand cmd);
- Answer setSourceNat(SetSourceNatCommand cmd);
+ SetSourceNatAnswer setSourceNat(SetSourceNatCommand cmd);
- Answer setNetworkAcl(SetNetworkACLCommand cmd);
+ SetNetworkACLAnswer setNetworkAcl(SetNetworkACLCommand cmd);
- Answer setVpcPortForwards(SetPortForwardingRulesVpcCommand cmd);
+ SetPortForwardingRulesAnswer setVpcPortForwards(SetPortForwardingRulesVpcCommand cmd);
- Answer setStaticRoute(SetStaticRouteCommand cmd);
+ SetStaticNatRulesAnswer setVPCStaticNatRules(SetStaticNatRulesCommand cmd);
+
+ SetStaticRouteAnswer setStaticRoute(SetStaticRouteCommand cmd);
Answer siteToSiteVpn(Site2SiteVpnCfgCommand cmd);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/930ca7f2/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManagerImpl.java
index 232146a..4035a7a 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManagerImpl.java
@@ -23,24 +23,44 @@ import com.cloud.agent.api.Answer;
import com.cloud.agent.api.CheckS2SVpnConnectionsCommand;
import com.cloud.agent.api.NetworkUsageAnswer;
import com.cloud.agent.api.NetworkUsageCommand;
+import com.cloud.agent.api.PlugNicAnswer;
import com.cloud.agent.api.PlugNicCommand;
import com.cloud.agent.api.PvlanSetupCommand;
+import com.cloud.agent.api.UnPlugNicAnswer;
import com.cloud.agent.api.UnPlugNicCommand;
import com.cloud.agent.api.routing.DhcpEntryCommand;
+import com.cloud.agent.api.routing.IpAssocAnswer;
import com.cloud.agent.api.routing.IpAssocCommand;
import com.cloud.agent.api.routing.IpAssocVpcCommand;
import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
+import com.cloud.agent.api.routing.NetworkElementCommand;
+import com.cloud.agent.api.routing.SetFirewallRulesAnswer;
import com.cloud.agent.api.routing.SetFirewallRulesCommand;
+import com.cloud.agent.api.routing.SetNetworkACLAnswer;
import com.cloud.agent.api.routing.SetNetworkACLCommand;
+import com.cloud.agent.api.routing.SetPortForwardingRulesAnswer;
import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand;
+import com.cloud.agent.api.routing.SetSourceNatAnswer;
import com.cloud.agent.api.routing.SetSourceNatCommand;
+import com.cloud.agent.api.routing.SetStaticNatRulesAnswer;
import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
+import com.cloud.agent.api.routing.SetStaticRouteAnswer;
import com.cloud.agent.api.routing.SetStaticRouteCommand;
import com.cloud.agent.api.routing.Site2SiteVpnCfgCommand;
+import com.cloud.agent.api.to.IpAddressTO;
+import com.cloud.agent.api.to.PortForwardingRuleTO;
+import com.cloud.simulator.dao.MockVMDao;
import com.cloud.utils.component.ManagerBase;
+import org.apache.log4j.Logger;
+
+import javax.inject.Inject;
public class MockNetworkManagerImpl extends ManagerBase implements MockNetworkManager {
+ private static final Logger s_logger = Logger.getLogger(MockVmManagerImpl.class);
+
+ @Inject
+ MockVMDao _mockVmDao;
@Override
public Answer SetStaticNatRules(SetStaticNatRulesCommand cmd) {
@@ -53,8 +73,22 @@ public class MockNetworkManagerImpl extends ManagerBase implements MockNetworkMa
}
@Override
- public Answer SetFirewallRules(SetFirewallRulesCommand cmd) {
- return new Answer(cmd);
+ public SetFirewallRulesAnswer SetFirewallRules(SetFirewallRulesCommand cmd) {
+ String[] results = new String[cmd.getRules().length];
+ String routerIp = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
+ if (routerIp == null) {
+ return new SetFirewallRulesAnswer(cmd, false, results);
+ }
+
+ String[][] rules = cmd.generateFwRules();
+ StringBuilder sb = new StringBuilder();
+ String[] fwRules = rules[0];
+ if (fwRules.length > 0) {
+ for (int i = 0; i < fwRules.length; i++) {
+ sb.append(fwRules[i]).append(',');
+ }
+ }
+ return new SetFirewallRulesAnswer(cmd, true, results);
}
@@ -84,38 +118,92 @@ public class MockNetworkManagerImpl extends ManagerBase implements MockNetworkMa
}
@Override
- public Answer plugNic(PlugNicCommand cmd) {
- return new Answer(cmd);
+ public PlugNicAnswer plugNic(PlugNicCommand cmd) {
+ String vmname = cmd.getVmName();
+ if (_mockVmDao.findByVmName(vmname) != null) {
+ s_logger.debug("Plugged NIC (dev=" + cmd.getNic().getDeviceId() + ", " + cmd.getNic().getIp() + ") into " + cmd.getVmName());
+ return new PlugNicAnswer(cmd, true, "success");
+ }
+ s_logger.error("Plug NIC failed for (dev=" + cmd.getNic().getDeviceId() + ", " + cmd.getNic().getIp() + ") into " + cmd.getVmName());
+ return new PlugNicAnswer(cmd, false, "failure");
}
@Override
- public Answer unplugNic(UnPlugNicCommand cmd) {
- return new Answer(cmd);
+ public UnPlugNicAnswer unplugNic(UnPlugNicCommand cmd) {
+ String vmname = cmd.getVmName();
+ if (_mockVmDao.findByVmName(vmname) != null) {
+ s_logger.debug("Plugged NIC (dev=" + cmd.getNic().getDeviceId() + ", " + cmd.getNic().getIp() + ") into " + cmd.getVmName());
+ return new UnPlugNicAnswer(cmd, true, "success");
+ }
+ s_logger.error("Plug NIC failed for (dev=" + cmd.getNic().getDeviceId() + ", " + cmd.getNic().getIp() + ") into " + cmd.getVmName());
+ return new UnPlugNicAnswer(cmd, false, "failure");
}
@Override
- public Answer ipAssoc(IpAssocVpcCommand cmd) {
- return new Answer(cmd);
+ public IpAssocAnswer ipAssoc(IpAssocVpcCommand cmd) {
+ String[] results = new String[cmd.getIpAddresses().length];
+ int i = 0;
+ IpAddressTO[] ips = cmd.getIpAddresses();
+ for (IpAddressTO ip : ips) {
+ results[i++] = ip.getPublicIp() + " - success";
+ }
+ return new IpAssocAnswer(cmd, results);
}
@Override
- public Answer setSourceNat(SetSourceNatCommand cmd) {
- return new Answer(cmd);
+ public SetSourceNatAnswer setSourceNat(SetSourceNatCommand cmd) {
+ return new SetSourceNatAnswer(cmd, true, "success");
}
@Override
- public Answer setNetworkAcl(SetNetworkACLCommand cmd) {
- return new Answer(cmd);
+ public SetNetworkACLAnswer setNetworkAcl(SetNetworkACLCommand cmd) {
+ String[] results = new String[cmd.getRules().length];
+ String routerName = cmd.getAccessDetail(NetworkElementCommand.ROUTER_NAME);
+ String routerIp = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
+
+ StringBuilder sb = new StringBuilder();
+ sb.append(routerIp);
+ sb.append(routerName);
+
+ String [][] rules = cmd.generateFwRules();
+ String[] aclRules = rules[0];
+
+ for (int i = 0; i < aclRules.length; i++) {
+ sb.append(aclRules[i]).append(',');
+ }
+
+ return new SetNetworkACLAnswer(cmd, true, results);
}
@Override
- public Answer setVpcPortForwards(SetPortForwardingRulesVpcCommand cmd) {
- return new Answer(cmd);
+ public SetPortForwardingRulesAnswer setVpcPortForwards(SetPortForwardingRulesVpcCommand cmd) {
+ String[] results = new String[cmd.getRules().length];
+ StringBuilder sb = new StringBuilder();
+ for (PortForwardingRuleTO rule : cmd.getRules()) {
+ sb.append("src:");
+ sb.append(rule.getStringSrcPortRange());
+ sb.append("dst:");
+ sb.append(rule.getStringDstPortRange());
+ }
+ return new SetPortForwardingRulesAnswer(cmd, results, true);
}
@Override
- public Answer setStaticRoute(SetStaticRouteCommand cmd) {
- return new Answer(cmd);
+ public SetStaticRouteAnswer setStaticRoute(SetStaticRouteCommand cmd) {
+ String[] results = new String[cmd.getStaticRoutes().length];
+ String [][] rules = cmd.generateSRouteRules();
+ StringBuilder sb = new StringBuilder();
+ String[] srRules = rules[0];
+ for (int i = 0; i < srRules.length; i++) {
+ sb.append(srRules[i]).append(',');
+ }
+ return new SetStaticRouteAnswer(cmd, true, results);
+ }
+
+ @Override
+ public SetStaticNatRulesAnswer setVPCStaticNatRules(SetStaticNatRulesCommand cmd) {
+ String[] results = new String[cmd.getRules().length];
+ return new SetStaticNatRulesAnswer(cmd, results, true);
}
@Override
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/930ca7f2/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
index 8f6116c..7329ad1 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
@@ -333,6 +333,8 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage
return _mockNetworkMgr.setNetworkAcl((SetNetworkACLCommand) cmd);
} else if (cmd instanceof SetPortForwardingRulesVpcCommand) {
return _mockNetworkMgr.setVpcPortForwards((SetPortForwardingRulesVpcCommand) cmd);
+ } else if (cmd instanceof SetStaticNatRulesCommand) {
+ return _mockNetworkMgr.setVPCStaticNatRules((SetStaticNatRulesCommand) cmd);
} else if (cmd instanceof SetStaticRouteCommand) {
return _mockNetworkMgr.setStaticRoute((SetStaticRouteCommand) cmd);
} else if (cmd instanceof Site2SiteVpnCfgCommand) {