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/05 09:22:23 UTC

[1/5] git commit: updated refs/heads/master to f321acd

Updated Branches:
  refs/heads/master 6a92f3b8a -> f321acd06


Pulling out Network operations into a separate manager

Network operations like VM, host and storage are pulled into a separate
managaer for simulator.

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/956a5967
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/956a5967
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/956a5967

Branch: refs/heads/master
Commit: 956a5967dd343dd9f50aec7fa8fb446ebe3dc423
Parents: 6a92f3b
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Jun 4 19:15:53 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Wed Jun 5 12:23:07 2013 +0530

----------------------------------------------------------------------
 .../com/cloud/agent/manager/MockAgentManager.java  |   15 +--
 .../src/com/cloud/agent/manager/MockVmManager.java |   72 +++++++-----
 .../com/cloud/agent/manager/MockVmManagerImpl.java |   65 +++++------
 .../cloud/agent/manager/SimulatorManagerImpl.java  |   87 +++++++++++----
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |   43 ++++----
 5 files changed, 161 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/956a5967/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManager.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManager.java
index fa02873..a5bdbfb 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManager.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManager.java
@@ -16,10 +16,6 @@
 // under the License.
 package com.cloud.agent.manager;
 
-import java.util.Map;
-
-import javax.naming.ConfigurationException;
-
 import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.CheckHealthCommand;
 import com.cloud.agent.api.CheckNetworkCommand;
@@ -31,13 +27,12 @@ import com.cloud.resource.AgentResourceBase;
 import com.cloud.simulator.MockHost;
 import com.cloud.utils.component.Manager;
 
+import javax.naming.ConfigurationException;
+import java.util.Map;
+
 public interface MockAgentManager extends Manager {
-	public static final long DEFAULT_HOST_MEM_SIZE = 8 * 1024 * 1024 * 1024L; // 8G,
-																				// unit
-																				// of
-	// Mbytes
-	public static final int DEFAULT_HOST_CPU_CORES = 4; // 2 dual core CPUs (2 x
-	// 2)
+	public static final long DEFAULT_HOST_MEM_SIZE = 8 * 1024 * 1024 * 1024L; // 8G, unit of Mbytes
+    public static final int DEFAULT_HOST_CPU_CORES = 4; // 2 dual core CPUs (2 x 2)
 	public static final int DEFAULT_HOST_SPEED_MHZ = 8000; // 1 GHz CPUs
 
 	boolean configure(String name, Map<String, Object> params) throws ConfigurationException;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/956a5967/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java
index c5f93b7..113bcaa 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java
@@ -16,88 +16,98 @@
 // under the License.
 package com.cloud.agent.manager;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.BumpUpPriorityCommand;
 import com.cloud.agent.api.CheckRouterAnswer;
 import com.cloud.agent.api.CheckRouterCommand;
 import com.cloud.agent.api.CheckVirtualMachineCommand;
 import com.cloud.agent.api.CleanupNetworkRulesCmd;
+import com.cloud.agent.api.CreateVMSnapshotCommand;
+import com.cloud.agent.api.DeleteVMSnapshotCommand;
 import com.cloud.agent.api.GetDomRVersionAnswer;
 import com.cloud.agent.api.GetDomRVersionCmd;
 import com.cloud.agent.api.GetVmStatsCommand;
 import com.cloud.agent.api.GetVncPortCommand;
 import com.cloud.agent.api.MigrateAnswer;
 import com.cloud.agent.api.MigrateCommand;
-import com.cloud.agent.api.NetworkUsageCommand;
+import com.cloud.agent.api.NetworkRulesVmSecondaryIpCommand;
 import com.cloud.agent.api.PrepareForMigrationAnswer;
 import com.cloud.agent.api.PrepareForMigrationCommand;
+import com.cloud.agent.api.RebootAnswer;
 import com.cloud.agent.api.RebootCommand;
+import com.cloud.agent.api.RevertToVMSnapshotCommand;
+import com.cloud.agent.api.ScaleVmCommand;
 import com.cloud.agent.api.SecurityGroupRuleAnswer;
 import com.cloud.agent.api.SecurityGroupRulesCmd;
+import com.cloud.agent.api.StartAnswer;
 import com.cloud.agent.api.StartCommand;
+import com.cloud.agent.api.StopAnswer;
 import com.cloud.agent.api.StopCommand;
 import com.cloud.agent.api.check.CheckSshAnswer;
 import com.cloud.agent.api.check.CheckSshCommand;
 import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
 import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
-import com.cloud.agent.api.routing.DhcpEntryCommand;
-import com.cloud.agent.api.routing.IpAssocCommand;
-import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
 import com.cloud.agent.api.routing.SavePasswordCommand;
-import com.cloud.agent.api.routing.SetFirewallRulesCommand;
-import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
-import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
 import com.cloud.agent.api.routing.VmDataCommand;
 import com.cloud.simulator.MockVMVO;
 import com.cloud.utils.Pair;
 import com.cloud.utils.component.Manager;
 import com.cloud.vm.VirtualMachine.State;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public interface MockVmManager extends Manager {
-    public Answer stopVM(StopCommand cmd);
-	public Answer rebootVM(RebootCommand cmd);
 
-    public Answer checkVmState(CheckVirtualMachineCommand cmd);
-    public Map<String, State> getVmStates(String hostGuid);
-    public Answer getVncPort(GetVncPortCommand cmd);
+    Map<String, State> getVmStates(String hostGuid);
 
-	Answer startVM(StartCommand cmd, SimulatorInfo info);
+    Map<String, MockVMVO> getVms(String hostGuid);
 
-	Answer getVmStats(GetVmStatsCommand cmd);
-    public CheckSshAnswer checkSshCommand(CheckSshCommand cmd);
+    HashMap<String, Pair<Long, Long>> syncNetworkGroups(SimulatorInfo info);
 
-    Answer SetStaticNatRules(SetStaticNatRulesCommand cmd);
+    StartAnswer startVM(StartCommand cmd, SimulatorInfo info);
 
-    Answer SetPortForwardingRules(SetPortForwardingRulesCommand cmd);
+    StopAnswer stopVM(StopCommand cmd);
 
-    Answer SetFirewallRules(SetFirewallRulesCommand cmd);
+    RebootAnswer rebootVM(RebootCommand cmd);
 
-    Answer getNetworkUsage(NetworkUsageCommand cmd);
+    Answer checkVmState(CheckVirtualMachineCommand cmd);
 
-    Answer IpAssoc(IpAssocCommand cmd);
+    Answer getVncPort(GetVncPortCommand cmd);
 
-    Answer LoadBalancerConfig(LoadBalancerConfigCommand cmd);
+	Answer getVmStats(GetVmStatsCommand cmd);
 
-    Answer AddDhcpEntry(DhcpEntryCommand cmd);
+    CheckSshAnswer checkSshCommand(CheckSshCommand cmd);
 
     Answer setVmData(VmDataCommand cmd);
-    Answer CleanupNetworkRules(CleanupNetworkRulesCmd cmd, SimulatorInfo info);
 
     Answer CheckConsoleProxyLoad(CheckConsoleProxyLoadCommand cmd);
+
     Answer WatchConsoleProxyLoad(WatchConsoleProxyLoadCommand cmd);
 
     Answer SavePassword(SavePasswordCommand cmd);
-    HashMap<String, Pair<Long, Long>> syncNetworkGroups(SimulatorInfo info);
-    SecurityGroupRuleAnswer AddSecurityGroupRules(SecurityGroupRulesCmd cmd, SimulatorInfo info);
-	MigrateAnswer Migrate(MigrateCommand cmd, SimulatorInfo info);
+
+    MigrateAnswer Migrate(MigrateCommand cmd, SimulatorInfo info);
+
     PrepareForMigrationAnswer prepareForMigrate(PrepareForMigrationCommand cmd);
-	GetDomRVersionAnswer getDomRVersion(GetDomRVersionCmd cmd);
-	Map<String, MockVMVO> getVms(String hostGuid);
+
+    SecurityGroupRuleAnswer AddSecurityGroupRules(SecurityGroupRulesCmd cmd, SimulatorInfo info);
+
+    GetDomRVersionAnswer getDomRVersion(GetDomRVersionCmd cmd);
 
     CheckRouterAnswer checkRouter(CheckRouterCommand cmd);
 
     Answer bumpPriority(BumpUpPriorityCommand cmd);
+
+    Answer CleanupNetworkRules(CleanupNetworkRulesCmd cmd, SimulatorInfo info);
+
+    Answer scaleVm(ScaleVmCommand cmd);
+
+    Answer plugSecondaryIp(NetworkRulesVmSecondaryIpCommand cmd);
+
+    Answer createVmSnapshot(CreateVMSnapshotCommand cmd);
+
+    Answer deleteVmSnapshot(DeleteVMSnapshotCommand cmd);
+
+    Answer revertVmSnapshot(RevertToVMSnapshotCommand cmd);
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/956a5967/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
index c0ccbe4..356284c 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
@@ -346,7 +346,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
     }
 
     @Override
-    public Answer startVM(StartCommand cmd, SimulatorInfo info) {
+    public StartAnswer startVM(StartCommand cmd, SimulatorInfo info) {
         VirtualMachineTO vm = cmd.getVirtualMachine();
         String result = startVM(vm.getName(), vm.getNics(), vm.getCpus()* vm.getMaxSpeed(), vm.getMaxRam(), vm.getBootArgs(), info.getHostUuid());
         if (result != null) {
@@ -361,28 +361,9 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
         return new CheckSshAnswer(cmd);
     }
 
-    @Override
-    public Answer SetStaticNatRules(SetStaticNatRulesCommand cmd) {
-        return new Answer(cmd);
-    }
-
-    @Override
-    public Answer SetPortForwardingRules(SetPortForwardingRulesCommand cmd) {
-        return new Answer(cmd);
-    }
-
-    @Override
-    public Answer SetFirewallRules(SetFirewallRulesCommand cmd) {
-        return new Answer(cmd);
-    }
 
 
     @Override
-    public NetworkUsageAnswer getNetworkUsage(NetworkUsageCommand cmd) {
-        return new NetworkUsageAnswer(cmd, null, 100L, 100L);
-    }
-
-    @Override
     public MigrateAnswer Migrate(MigrateCommand cmd, SimulatorInfo info) {
         Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
         try {
@@ -438,21 +419,6 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
     }
 
     @Override
-    public Answer IpAssoc(IpAssocCommand cmd) {
-        return new Answer(cmd);
-    }
-
-    @Override
-    public Answer LoadBalancerConfig(LoadBalancerConfigCommand cmd) {
-        return new Answer(cmd);
-    }
-
-    @Override
-    public Answer AddDhcpEntry(DhcpEntryCommand cmd) {
-        return new Answer(cmd);
-    }
-
-    @Override
     public Answer setVmData(VmDataCommand cmd) {
         return new Answer(cmd);
     }
@@ -482,7 +448,32 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
     }
 
     @Override
-    public Answer stopVM(StopCommand cmd) {
+    public Answer scaleVm(ScaleVmCommand cmd) {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public Answer plugSecondaryIp(NetworkRulesVmSecondaryIpCommand cmd) {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public Answer createVmSnapshot(CreateVMSnapshotCommand cmd) {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public Answer deleteVmSnapshot(DeleteVMSnapshotCommand cmd) {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public Answer revertVmSnapshot(RevertToVMSnapshotCommand cmd) {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public StopAnswer stopVM(StopCommand cmd) {
         Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
         try {
             txn.start();
@@ -509,7 +500,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
     }
 
     @Override
-    public Answer rebootVM(RebootCommand cmd) {
+    public RebootAnswer rebootVM(RebootCommand cmd) {
         Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
         try {
             txn.start();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/956a5967/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 ab6eec3..8f6116c 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
@@ -16,16 +16,6 @@
 // under the License.
 package com.cloud.agent.manager;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.ejb.Local;
-import javax.inject.Inject;
-import javax.naming.ConfigurationException;
-
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
 import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.AttachIsoCommand;
 import com.cloud.agent.api.AttachVolumeCommand;
@@ -34,6 +24,7 @@ import com.cloud.agent.api.BumpUpPriorityCommand;
 import com.cloud.agent.api.CheckHealthCommand;
 import com.cloud.agent.api.CheckNetworkCommand;
 import com.cloud.agent.api.CheckRouterCommand;
+import com.cloud.agent.api.CheckS2SVpnConnectionsCommand;
 import com.cloud.agent.api.CheckVirtualMachineCommand;
 import com.cloud.agent.api.CleanupNetworkRulesCmd;
 import com.cloud.agent.api.ClusterSyncCommand;
@@ -42,9 +33,11 @@ import com.cloud.agent.api.ComputeChecksumCommand;
 import com.cloud.agent.api.CreatePrivateTemplateFromSnapshotCommand;
 import com.cloud.agent.api.CreatePrivateTemplateFromVolumeCommand;
 import com.cloud.agent.api.CreateStoragePoolCommand;
+import com.cloud.agent.api.CreateVMSnapshotCommand;
 import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
 import com.cloud.agent.api.DeleteSnapshotBackupCommand;
 import com.cloud.agent.api.DeleteStoragePoolCommand;
+import com.cloud.agent.api.DeleteVMSnapshotCommand;
 import com.cloud.agent.api.GetDomRVersionCmd;
 import com.cloud.agent.api.GetHostStatsCommand;
 import com.cloud.agent.api.GetStorageStatsCommand;
@@ -54,26 +47,38 @@ import com.cloud.agent.api.MaintainCommand;
 import com.cloud.agent.api.ManageSnapshotCommand;
 import com.cloud.agent.api.MigrateCommand;
 import com.cloud.agent.api.ModifyStoragePoolCommand;
+import com.cloud.agent.api.NetworkRulesVmSecondaryIpCommand;
 import com.cloud.agent.api.NetworkUsageCommand;
 import com.cloud.agent.api.PingTestCommand;
+import com.cloud.agent.api.PlugNicCommand;
 import com.cloud.agent.api.PrepareForMigrationCommand;
+import com.cloud.agent.api.PvlanSetupCommand;
 import com.cloud.agent.api.RebootCommand;
+import com.cloud.agent.api.RevertToVMSnapshotCommand;
+import com.cloud.agent.api.ScaleVmCommand;
 import com.cloud.agent.api.SecStorageSetupCommand;
 import com.cloud.agent.api.SecStorageVMSetupCommand;
 import com.cloud.agent.api.SecurityGroupRulesCmd;
 import com.cloud.agent.api.StartCommand;
 import com.cloud.agent.api.StopCommand;
 import com.cloud.agent.api.StoragePoolInfo;
+import com.cloud.agent.api.UnPlugNicCommand;
 import com.cloud.agent.api.check.CheckSshCommand;
 import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
 import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
 import com.cloud.agent.api.routing.DhcpEntryCommand;
 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.SavePasswordCommand;
 import com.cloud.agent.api.routing.SetFirewallRulesCommand;
+import com.cloud.agent.api.routing.SetNetworkACLCommand;
 import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
+import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand;
+import com.cloud.agent.api.routing.SetSourceNatCommand;
 import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
+import com.cloud.agent.api.routing.SetStaticRouteCommand;
+import com.cloud.agent.api.routing.Site2SiteVpnCfgCommand;
 import com.cloud.agent.api.routing.VmDataCommand;
 import com.cloud.agent.api.storage.CopyVolumeCommand;
 import com.cloud.agent.api.storage.CreateCommand;
@@ -96,19 +101,29 @@ import com.cloud.utils.db.DB;
 import com.cloud.utils.db.Transaction;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.vm.VirtualMachine.State;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
+
+import javax.ejb.Local;
+import javax.inject.Inject;
+import javax.naming.ConfigurationException;
+import java.util.HashMap;
+import java.util.Map;
 
 @Component
 @Local(value = { SimulatorManager.class })
 public class SimulatorManagerImpl extends ManagerBase implements SimulatorManager {
     private static final Logger s_logger = Logger.getLogger(SimulatorManagerImpl.class);
     @Inject
-    MockVmManager _mockVmMgr = null;
+    MockVmManager _mockVmMgr;
+    @Inject
+    MockStorageManager _mockStorageMgr;
     @Inject
-    MockStorageManager _mockStorageMgr = null;
+    MockAgentManager _mockAgentMgr;
     @Inject
-    MockAgentManager _mockAgentMgr = null;
+    MockNetworkManager _mockNetworkMgr;
     @Inject
-    MockConfigurationDao _mockConfigDao = null;
+    MockConfigurationDao _mockConfigDao;
     @Inject
     MockHostDao _mockHost = null;
     private ConnectionConcierge _concierge;
@@ -213,19 +228,19 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage
             } else if (cmd instanceof CheckVirtualMachineCommand) {
                 return _mockVmMgr.checkVmState((CheckVirtualMachineCommand) cmd);
             } else if (cmd instanceof SetStaticNatRulesCommand) {
-                return _mockVmMgr.SetStaticNatRules((SetStaticNatRulesCommand) cmd);
+                return _mockNetworkMgr.SetStaticNatRules((SetStaticNatRulesCommand) cmd);
             } else if (cmd instanceof SetFirewallRulesCommand) {
-                return _mockVmMgr.SetFirewallRules((SetFirewallRulesCommand) cmd);
+                return _mockNetworkMgr.SetFirewallRules((SetFirewallRulesCommand) cmd);
             } else if (cmd instanceof SetPortForwardingRulesCommand) {
-                return _mockVmMgr.SetPortForwardingRules((SetPortForwardingRulesCommand) cmd);
+                return _mockNetworkMgr.SetPortForwardingRules((SetPortForwardingRulesCommand) cmd);
             } else if (cmd instanceof NetworkUsageCommand) {
-                return _mockVmMgr.getNetworkUsage((NetworkUsageCommand) cmd);
+                return _mockNetworkMgr.getNetworkUsage((NetworkUsageCommand) cmd);
             } else if (cmd instanceof IpAssocCommand) {
-                return _mockVmMgr.IpAssoc((IpAssocCommand) cmd);
+                return _mockNetworkMgr.IpAssoc((IpAssocCommand) cmd);
             } else if (cmd instanceof LoadBalancerConfigCommand) {
-                return _mockVmMgr.LoadBalancerConfig((LoadBalancerConfigCommand) cmd);
+                return _mockNetworkMgr.LoadBalancerConfig((LoadBalancerConfigCommand) cmd);
             } else if (cmd instanceof DhcpEntryCommand) {
-                return _mockVmMgr.AddDhcpEntry((DhcpEntryCommand) cmd);
+                return _mockNetworkMgr.AddDhcpEntry((DhcpEntryCommand) cmd);
             } else if (cmd instanceof VmDataCommand) {
                 return _mockVmMgr.setVmData((VmDataCommand) cmd);
             } else if (cmd instanceof CleanupNetworkRulesCmd) {
@@ -306,6 +321,36 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage
                 return new Answer(cmd);
             } else if (cmd instanceof CopyVolumeCommand) {
                 return _mockStorageMgr.CopyVolume((CopyVolumeCommand) cmd);
+            } else if (cmd instanceof PlugNicCommand) {
+                return _mockNetworkMgr.plugNic((PlugNicCommand) cmd);
+            } else if (cmd instanceof UnPlugNicCommand) {
+                return _mockNetworkMgr.unplugNic((UnPlugNicCommand) cmd);
+            } else if (cmd instanceof IpAssocVpcCommand) {
+                return _mockNetworkMgr.ipAssoc((IpAssocVpcCommand) cmd);
+            } else if (cmd instanceof SetSourceNatCommand) {
+                return _mockNetworkMgr.setSourceNat((SetSourceNatCommand) cmd);
+            } else if (cmd instanceof SetNetworkACLCommand) {
+                return _mockNetworkMgr.setNetworkAcl((SetNetworkACLCommand) cmd);
+            } else if (cmd instanceof SetPortForwardingRulesVpcCommand) {
+                return _mockNetworkMgr.setVpcPortForwards((SetPortForwardingRulesVpcCommand) cmd);
+            } else if (cmd instanceof SetStaticRouteCommand) {
+                return _mockNetworkMgr.setStaticRoute((SetStaticRouteCommand) cmd);
+            } else if (cmd instanceof Site2SiteVpnCfgCommand) {
+                return _mockNetworkMgr.siteToSiteVpn((Site2SiteVpnCfgCommand) cmd);
+            } else if (cmd instanceof CheckS2SVpnConnectionsCommand) {
+                return _mockNetworkMgr.checkSiteToSiteVpnConnection((CheckS2SVpnConnectionsCommand) cmd);
+            } else if (cmd instanceof CreateVMSnapshotCommand) {
+                return _mockVmMgr.createVmSnapshot((CreateVMSnapshotCommand)cmd);
+            } else if (cmd instanceof DeleteVMSnapshotCommand) {
+                return _mockVmMgr.deleteVmSnapshot((DeleteVMSnapshotCommand)cmd);
+            } else if (cmd instanceof RevertToVMSnapshotCommand) {
+                return _mockVmMgr.revertVmSnapshot((RevertToVMSnapshotCommand)cmd);
+            } else if (cmd instanceof NetworkRulesVmSecondaryIpCommand) {
+                return _mockVmMgr.plugSecondaryIp((NetworkRulesVmSecondaryIpCommand)cmd);
+            } else if (cmd instanceof ScaleVmCommand) {
+                return _mockVmMgr.scaleVm((ScaleVmCommand) cmd);
+            } else if (cmd instanceof PvlanSetupCommand) {
+                return _mockNetworkMgr.setupPVLAN((PvlanSetupCommand) cmd);
             } else {
                 return Answer.createUnsupportedCommandAnswer(cmd);
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/956a5967/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 1c4adde..b41003a 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -16,27 +16,6 @@
 // under the License.
 package com.cloud.network.vpc;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import javax.ejb.Local;
-import javax.inject.Inject;
-import javax.naming.ConfigurationException;
-
-import org.apache.cloudstack.acl.ControlledEntity.ACLType;
-import org.apache.cloudstack.api.command.user.vpc.ListPrivateGatewaysCmd;
-import org.apache.cloudstack.api.command.user.vpc.ListStaticRoutesCmd;
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
 import com.cloud.configuration.Config;
 import com.cloud.configuration.ConfigurationManager;
 import com.cloud.configuration.Resource.ResourceType;
@@ -80,6 +59,7 @@ import com.cloud.network.dao.Site2SiteVpnGatewayDao;
 import com.cloud.network.element.StaticNatServiceProvider;
 import com.cloud.network.element.VpcProvider;
 import com.cloud.network.vpc.VpcOffering.State;
+import com.cloud.network.vpc.dao.NetworkACLDao;
 import com.cloud.network.vpc.dao.PrivateIpDao;
 import com.cloud.network.vpc.dao.StaticRouteDao;
 import com.cloud.network.vpc.dao.VpcDao;
@@ -87,7 +67,6 @@ import com.cloud.network.vpc.dao.VpcGatewayDao;
 import com.cloud.network.vpc.dao.VpcOfferingDao;
 import com.cloud.network.vpc.dao.VpcOfferingServiceMapDao;
 import com.cloud.network.vpc.dao.VpcServiceMapDao;
-import com.cloud.network.vpc.dao.NetworkACLDao;
 import com.cloud.network.vpn.Site2SiteVpnManager;
 import com.cloud.offering.NetworkOffering;
 import com.cloud.offerings.NetworkOfferingServiceMapVO;
@@ -121,6 +100,25 @@ import com.cloud.utils.net.NetUtils;
 import com.cloud.vm.ReservationContext;
 import com.cloud.vm.ReservationContextImpl;
 import com.cloud.vm.dao.DomainRouterDao;
+import org.apache.cloudstack.acl.ControlledEntity.ACLType;
+import org.apache.cloudstack.api.command.user.vpc.ListPrivateGatewaysCmd;
+import org.apache.cloudstack.api.command.user.vpc.ListStaticRoutesCmd;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
+
+import javax.ejb.Local;
+import javax.inject.Inject;
+import javax.naming.ConfigurationException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 
 @Component
@@ -2115,6 +2113,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
         hTypes.add(HypervisorType.XenServer);
         hTypes.add(HypervisorType.VMware);
         hTypes.add(HypervisorType.KVM);
+        hTypes.add(HypervisorType.Simulator);
         return hTypes;
     }
 


[2/5] git commit: updated refs/heads/master to f321acd

Posted by ts...@apache.org.
Removing unused simulator component library

And the components-simulator.xml configuration. Both are unused as we
use Spring injection now.

Remove unused rebootVM method

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/b2dccf61
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/b2dccf61
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/b2dccf61

Branch: refs/heads/master
Commit: b2dccf618f3b279214bd89f22700979903a11d08
Parents: 956a596
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Jun 4 19:21:22 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Wed Jun 5 12:37:29 2013 +0530

----------------------------------------------------------------------
 .../tomcatconf/components-simulator.xml.in         |   54 ------------
 .../simulator/resources/components-simulator.xml   |   66 ---------------
 .../com/cloud/agent/manager/MockVmManagerImpl.java |   22 -----
 .../configuration/SimulatorComponentLibrary.java   |   40 ---------
 4 files changed, 0 insertions(+), 182 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2dccf61/agent-simulator/tomcatconf/components-simulator.xml.in
----------------------------------------------------------------------
diff --git a/agent-simulator/tomcatconf/components-simulator.xml.in b/agent-simulator/tomcatconf/components-simulator.xml.in
deleted file mode 100755
index 1b7df46..0000000
--- a/agent-simulator/tomcatconf/components-simulator.xml.in
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<components-simulator.xml>
-    <management-server class="com.cloud.server.ManagementServerSimulatorImpl" library="com.cloud.configuration.SimulatorComponentLibrary" extends="components.xml:management-server">
-        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl">
-             <param name="premium">true</param>
-         </dao>
-        <adapters key="com.cloud.ha.Investigator">
-            <adapter name="SimpleInvestigator" class="com.cloud.ha.CheckOnAgentInvestigator"/>
-            <adapter name="PingInvestigator" class="com.cloud.ha.UserVmDomRInvestigator"/>
-			<adapter name="ManagementIPSysVMInvestigator" class="com.cloud.ha.ManagementIPSystemVMInvestigator"/>
-        </adapters>
-        <adapters key="com.cloud.resource.Discoverer">
-            <adapter name="Simulator Agent" class="com.cloud.resource.SimulatorDiscoverer"/>
-            <adapter name="XCP Agent" class="com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer"/>
-            <adapter name="SecondaryStorage" class="com.cloud.storage.secondary.SecondaryStorageDiscoverer"/>
-            <adapter name="KVM Agent" class="com.cloud.hypervisor.kvm.discoverer.KvmServerDiscoverer"/>
-            <adapter name="SecondaryStorage" class="com.cloud.resource.SimulatorSecondaryDiscoverer"/>
-        </adapters>
-       
-        <adapters key="com.cloud.hypervisor.HypervisorGuru">
-            <adapter name="SimulatorGuru" class="com.cloud.simulator.SimulatorGuru"/>
-            <adapter name="XenServerGuru" class="com.cloud.hypervisor.XenServerGuru"/>
-            <adapter name="KVMGuru" class="com.cloud.hypervisor.KVMGuru"/>
-        </adapters>
-        <adapters key="com.cloud.agent.StartupCommandProcessor">
-            <adapter name="BasicAgentAuthorizer" class="com.cloud.agent.manager.authn.impl.BasicAgentAuthManager"/>
-        </adapters>
-    </management-server>
-
-    <configuration-server class="com.cloud.server.ConfigurationServerImpl" extends="components.xml:configuration-server">
-        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl" singleton="false">
-             <param name="premium">true</param>
-        </dao>
-    </configuration-server>
-    
-</components-simulator.xml>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2dccf61/plugins/hypervisors/simulator/resources/components-simulator.xml
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/resources/components-simulator.xml b/plugins/hypervisors/simulator/resources/components-simulator.xml
deleted file mode 100644
index 2658e4d..0000000
--- a/plugins/hypervisors/simulator/resources/components-simulator.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<components-simulator.xml>
-    <system-integrity-checker class="com.cloud.upgrade.DatabaseUpgradeChecker">
-        <checker name="ManagementServerNode" class="com.cloud.cluster.ManagementServerNode"/>
-        <checker name="EncryptionSecretKeyChecker" class="com.cloud.utils.crypt.EncryptionSecretKeyChecker"/>
-        <checker name="DatabaseIntegrityChecker" class="com.cloud.upgrade.DatabaseIntegrityChecker"/>
-        <checker name="DatabaseUpgradeChecker" class="com.cloud.upgrade.PremiumDatabaseUpgradeChecker"/>
-    </system-integrity-checker>
-
-    <interceptor library="com.cloud.configuration.DefaultInterceptorLibrary"/>
-    <management-server class="com.cloud.server.ManagementServerSimulatorImpl" library="com.cloud.configuration.SimulatorComponentLibrary" extends="components.xml:management-server">
-        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl">
-            <param name="premium">true</param>
-        </dao>
-        <adapters key="com.cloud.resource.Discoverer">
-            <adapter name="Simulator Agent" class="com.cloud.resource.SimulatorDiscoverer"/>
-            <adapter name="SimulatorSecondaryStorage" class="com.cloud.resource.SimulatorSecondaryDiscoverer"/>
-        </adapters>
-        <adapters key="com.cloud.hypervisor.HypervisorGuru">
-            <adapter name="SimulatorGuru" class="com.cloud.simulator.SimulatorGuru"/>
-        </adapters>
-    </management-server>
-    <configuration-server class="com.cloud.server.ConfigurationServerImpl" extends="components.xml:configuration-server">
-        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl" singleton="false">
-            <param name="premium">true</param>
-        </dao>
-        <dao name="Snapshot policy defaults" class="com.cloud.storage.dao.SnapshotPolicyDaoImpl" singleton="false"/>
-        <dao name="DiskOffering configuration server" class="com.cloud.storage.dao.DiskOfferingDaoImpl" singleton="false"/>
-        <dao name="ServiceOffering configuration server" class="com.cloud.service.dao.ServiceOfferingDaoImpl" singleton="false"/>
-        <dao name="host zone configuration server" class="com.cloud.dc.dao.DataCenterDaoImpl" singleton="false"/>
-        <dao name="host pod configuration server" class="com.cloud.dc.dao.HostPodDaoImpl" singleton="false"/>
-        <dao name="DomainDao" class="com.cloud.domain.dao.DomainDaoImpl" singleton="false"/>
-        <dao name="NetworkOfferingDao" class="com.cloud.offerings.dao.NetworkOfferingDaoImpl" singleton="false"/>
-        <dao name="DataCenterDao" class="com.cloud.dc.dao.DataCenterDaoImpl" singleton="false"/>
-        <dao name="NetworkDao" class="com.cloud.network.dao.NetworkDaoImpl" singleton="false"/>
-        <dao name="IpAddressDao" class="com.cloud.network.dao.IPAddressDaoImpl" singleton="false"/>
-        <dao name="VlanDao" class="com.cloud.dc.dao.VlanDaoImpl" singleton="false"/>
-        <dao name="ResouceCountDao" class="com.cloud.configuration.dao.ResourceCountDaoImpl" singleton="false"/>
-        <dao name="AccountDao" class="com.cloud.user.dao.AccountDaoImpl" singleton="false"/>
-        <dao name="UserDao" class="com.cloud.user.dao.UserDaoImpl" singleton="false"/>
-        <dao name="NetworkOfferingServiceDao" class="com.cloud.offerings.dao.NetworkOfferingServiceMapDaoImpl" singleton="false"/>
-        <dao name="VirtualRouterProviderDao" class="com.cloud.network.dao.VirtualRouterProviderDaoImpl" singleton="false"/>
-        <dao name="IdentityDao" class="com.cloud.uuididentity.dao.IdentityDaoImpl" singleton="false"/>
-        <dao name="Site2SiteCustomerGatewayDao" class="com.cloud.network.dao.Site2SiteCustomerGatewayDaoImpl" singleton="false"/>
-        <dao name="Site2SiteVpnGatewayDao" class="com.cloud.network.dao.Site2SiteVpnGatewayDaoImpl" singleton="false"/>
-        <dao name="Site2SiteVpnConnectionDao" class="com.cloud.network.dao.Site2SiteVpnConnectionDaoImpl" singleton="false"/>
-    </configuration-server>
-</components-simulator.xml>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2dccf61/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
index 356284c..6ee9d60 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
@@ -193,28 +193,6 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
         return null;
     }
 
-    public boolean rebootVM(String vmName) {
-        Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
-        try {
-            txn.start();
-            MockVm vm = _mockVmDao.findByVmName(vmName);
-            if (vm != null) {
-                vm.setState(State.Running);
-                _mockVmDao.update(vm.getId(), (MockVMVO) vm);
-
-            }
-            txn.commit();
-        } catch (Exception ex) {
-            txn.rollback();
-            throw new CloudRuntimeException("unable to reboot vm " + vmName, ex);
-        } finally {
-            txn.close();
-            txn = Transaction.open(Transaction.CLOUD_DB);
-            txn.close();
-        }
-        return true;
-    }
-
     @Override
     public Map<String, MockVMVO> getVms(String hostGuid) {
         Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2dccf61/plugins/hypervisors/simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java b/plugins/hypervisors/simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java
deleted file mode 100644
index 373cae1..0000000
--- a/plugins/hypervisors/simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-package com.cloud.configuration;
-
-
-//TODO: Remove this class after the managers are figured out.
-public class SimulatorComponentLibrary  {
-//	  @Override
-//	    protected void populateManagers() {
-//	        addManager("VM Manager", MockVmManagerImpl.class);
-//	        addManager("agent manager", MockAgentManagerImpl.class);
-//	        addManager("storage manager", MockStorageManagerImpl.class);
-//	        addManager("SimulatorManager", SimulatorManagerImpl.class);
-//	    }
-//
-//	    @Override
-//	    protected void populateDaos() {
-//	        addDao("mock Host", MockHostDaoImpl.class);
-//	        addDao("mock secondary storage", MockSecStorageDaoImpl.class);
-//	        addDao("mock storage pool", MockStoragePoolDaoImpl.class);
-//	        addDao("mock vm", MockVMDaoImpl.class);
-//	        addDao("mock volume", MockVolumeDaoImpl.class);
-//	        addDao("mock config", MockConfigurationDaoImpl.class);
-//	        addDao("mock security rules", MockSecurityRulesDaoImpl.class);
-//	    }
-}


[3/5] git commit: updated refs/heads/master to f321acd

Posted by ts...@apache.org.
Enable the bean for network manager

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/5bfe2f99
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/5bfe2f99
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/5bfe2f99

Branch: refs/heads/master
Commit: 5bfe2f99d7a97c1881f1bf05d3c5794dfb7f1e19
Parents: b2dccf6
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Jun 4 19:47:23 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Wed Jun 5 12:37:41 2013 +0530

----------------------------------------------------------------------
 client/tomcatconf/applicationContext.xml.in        |    1 +
 .../cloud/agent/manager/MockNetworkManager.java    |   77 +++++++++
 .../agent/manager/MockNetworkManagerImpl.java      |  130 +++++++++++++++
 3 files changed, 208 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5bfe2f99/client/tomcatconf/applicationContext.xml.in
----------------------------------------------------------------------
diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in
index e2bde8f..049e483 100644
--- a/client/tomcatconf/applicationContext.xml.in
+++ b/client/tomcatconf/applicationContext.xml.in
@@ -803,6 +803,7 @@
   <bean id="mockAgentManagerImpl" class="com.cloud.agent.manager.MockAgentManagerImpl" />
   <bean id="mockStorageManagerImpl" class="com.cloud.agent.manager.MockStorageManagerImpl" />
   <bean id="mockVmManagerImpl" class="com.cloud.agent.manager.MockVmManagerImpl" />
+  <bean id="mockNetworkManagerImpl" class="com.cloud.agent.manager.MockNetworkManagerImpl" />
   <bean id="simulatorManagerImpl" class="com.cloud.agent.manager.SimulatorManagerImpl" />
   <bean id="vMSnapshotManagerImpl" class="com.cloud.vm.snapshot.VMSnapshotManagerImpl" />
   <bean id="volumeManagerImpl" class="com.cloud.storage.VolumeManagerImpl" />

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5bfe2f99/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
new file mode 100644
index 0000000..61a556a
--- /dev/null
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManager.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+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.PlugNicCommand;
+import com.cloud.agent.api.PvlanSetupCommand;
+import com.cloud.agent.api.UnPlugNicCommand;
+import com.cloud.agent.api.routing.DhcpEntryCommand;
+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.SetNetworkACLCommand;
+import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
+import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand;
+import com.cloud.agent.api.routing.SetSourceNatCommand;
+import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
+import com.cloud.agent.api.routing.SetStaticRouteCommand;
+import com.cloud.agent.api.routing.Site2SiteVpnCfgCommand;
+import com.cloud.utils.component.Manager;
+
+public interface MockNetworkManager extends Manager {
+
+    Answer SetStaticNatRules(SetStaticNatRulesCommand cmd);
+
+    Answer SetPortForwardingRules(SetPortForwardingRulesCommand cmd);
+
+    Answer SetFirewallRules(SetFirewallRulesCommand cmd);
+
+    Answer getNetworkUsage(NetworkUsageCommand cmd);
+
+    Answer IpAssoc(IpAssocCommand cmd);
+
+    Answer LoadBalancerConfig(LoadBalancerConfigCommand cmd);
+
+    Answer AddDhcpEntry(DhcpEntryCommand cmd);
+
+    Answer setupPVLAN(PvlanSetupCommand cmd);
+
+    Answer plugNic(PlugNicCommand cmd);
+
+    Answer unplugNic(UnPlugNicCommand cmd);
+
+    Answer ipAssoc(IpAssocVpcCommand cmd);
+
+    Answer setSourceNat(SetSourceNatCommand cmd);
+
+    Answer setNetworkAcl(SetNetworkACLCommand cmd);
+
+    Answer setVpcPortForwards(SetPortForwardingRulesVpcCommand cmd);
+
+    Answer setStaticRoute(SetStaticRouteCommand cmd);
+
+    Answer siteToSiteVpn(Site2SiteVpnCfgCommand cmd);
+
+    Answer checkSiteToSiteVpnConnection(CheckS2SVpnConnectionsCommand cmd);
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5bfe2f99/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
new file mode 100644
index 0000000..232146a
--- /dev/null
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockNetworkManagerImpl.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.cloud.agent.manager;
+
+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.PlugNicCommand;
+import com.cloud.agent.api.PvlanSetupCommand;
+import com.cloud.agent.api.UnPlugNicCommand;
+import com.cloud.agent.api.routing.DhcpEntryCommand;
+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.SetNetworkACLCommand;
+import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
+import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand;
+import com.cloud.agent.api.routing.SetSourceNatCommand;
+import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
+import com.cloud.agent.api.routing.SetStaticRouteCommand;
+import com.cloud.agent.api.routing.Site2SiteVpnCfgCommand;
+import com.cloud.utils.component.ManagerBase;
+
+public class MockNetworkManagerImpl extends ManagerBase implements MockNetworkManager {
+
+    @Override
+    public Answer SetStaticNatRules(SetStaticNatRulesCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer SetPortForwardingRules(SetPortForwardingRulesCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer SetFirewallRules(SetFirewallRulesCommand cmd) {
+        return new Answer(cmd);
+    }
+
+
+    @Override
+    public NetworkUsageAnswer getNetworkUsage(NetworkUsageCommand cmd) {
+        return new NetworkUsageAnswer(cmd, null, 100L, 100L);
+    }
+
+    @Override
+    public Answer IpAssoc(IpAssocCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer LoadBalancerConfig(LoadBalancerConfigCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer AddDhcpEntry(DhcpEntryCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer setupPVLAN(PvlanSetupCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer plugNic(PlugNicCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer unplugNic(UnPlugNicCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer ipAssoc(IpAssocVpcCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer setSourceNat(SetSourceNatCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer setNetworkAcl(SetNetworkACLCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer setVpcPortForwards(SetPortForwardingRulesVpcCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer setStaticRoute(SetStaticRouteCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer siteToSiteVpn(Site2SiteVpnCfgCommand cmd) {
+        return new Answer(cmd);
+    }
+
+    @Override
+    public Answer checkSiteToSiteVpnConnection(CheckS2SVpnConnectionsCommand cmd) {
+        return new Answer(cmd);
+    }
+}


[4/5] git commit: updated refs/heads/master to f321acd

Posted by ts...@apache.org.
PlugNic and UnplugNic both call the method getVmName

Renaming the method in the command objects to be uniform with
PlugNicCommand/UnplugNicCommand.getVmName

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/da6f39b7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/da6f39b7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/da6f39b7

Branch: refs/heads/master
Commit: da6f39b782b9af2800d389c5d1e6005441310ed4
Parents: 5bfe2f9
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Jun 4 20:15:58 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Wed Jun 5 12:37:42 2013 +0530

----------------------------------------------------------------------
 core/src/com/cloud/agent/api/UnPlugNicCommand.java |    2 +-
 .../kvm/resource/LibvirtComputingResource.java     |    2 +-
 .../hypervisor/vmware/resource/VmwareResource.java |   41 +--------------
 .../xen/resource/CitrixResourceBase.java           |    2 +-
 4 files changed, 4 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da6f39b7/core/src/com/cloud/agent/api/UnPlugNicCommand.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/api/UnPlugNicCommand.java b/core/src/com/cloud/agent/api/UnPlugNicCommand.java
index b6cab88..b964292 100644
--- a/core/src/com/cloud/agent/api/UnPlugNicCommand.java
+++ b/core/src/com/cloud/agent/api/UnPlugNicCommand.java
@@ -39,7 +39,7 @@ public class UnPlugNicCommand extends Command{
         this.instanceName = instanceName;
     }
 
-    public String getInstanceName() {
+    public String getVmName() {
         return instanceName;
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da6f39b7/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index e1ad7c2..bab53bc 100755
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -1671,7 +1671,7 @@ ServerResource {
     private UnPlugNicAnswer execute(UnPlugNicCommand cmd) {
         Connect conn;
         NicTO nic = cmd.getNic();
-        String vmName = cmd.getInstanceName();
+        String vmName = cmd.getVmName();
         try {
             conn = LibvirtConnection.getConnectionByVmName(vmName);
             Domain vm = getDomain(conn, vmName);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da6f39b7/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index bcd02d4..5944cc8 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -131,7 +131,6 @@ import com.cloud.agent.api.StopCommand;
 import com.cloud.agent.api.StoragePoolInfo;
 import com.cloud.agent.api.UnPlugNicAnswer;
 import com.cloud.agent.api.UnPlugNicCommand;
-import com.cloud.agent.api.UnregisterVMCommand;
 import com.cloud.agent.api.UpgradeSnapshotCommand;
 import com.cloud.agent.api.ValidateSnapshotAnswer;
 import com.cloud.agent.api.ValidateSnapshotCommand;
@@ -175,11 +174,7 @@ import com.cloud.agent.api.storage.PrepareOVAPackingCommand;
 import com.cloud.agent.api.storage.CreateAnswer;
 import com.cloud.agent.api.storage.CreateCommand;
 import com.cloud.agent.api.storage.CreatePrivateTemplateAnswer;
-import com.cloud.agent.api.storage.CreateVolumeOVAAnswer;
-import com.cloud.agent.api.storage.CreateVolumeOVACommand;
 import com.cloud.agent.api.storage.DestroyCommand;
-import com.cloud.agent.api.storage.PrepareOVAPackingAnswer;
-import com.cloud.agent.api.storage.PrepareOVAPackingCommand;
 import com.cloud.agent.api.storage.PrimaryStorageDownloadAnswer;
 import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
 import com.cloud.agent.api.storage.ResizeVolumeAnswer;
@@ -195,7 +190,6 @@ import com.cloud.agent.api.to.VolumeTO;
 import com.cloud.dc.DataCenter.NetworkType;
 import com.cloud.dc.Vlan;
 import com.cloud.exception.InternalErrorException;
-import com.cloud.host.Host;
 import com.cloud.host.Host.Type;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.hypervisor.vmware.manager.VmwareHostService;
@@ -206,12 +200,10 @@ import com.cloud.hypervisor.vmware.mo.CustomFieldsManagerMO;
 import com.cloud.hypervisor.vmware.mo.DatacenterMO;
 import com.cloud.hypervisor.vmware.mo.DatastoreMO;
 import com.cloud.hypervisor.vmware.mo.DiskControllerType;
-import com.cloud.hypervisor.vmware.mo.HostDatastoreSystemMO;
 import com.cloud.hypervisor.vmware.mo.HostFirewallSystemMO;
 import com.cloud.hypervisor.vmware.mo.HostMO;
 import com.cloud.hypervisor.vmware.mo.HypervisorHostHelper;
 import com.cloud.hypervisor.vmware.mo.NetworkDetails;
-import com.cloud.hypervisor.vmware.mo.VirtualDiskManagerMO;
 import com.cloud.hypervisor.vmware.mo.VirtualEthernetCardType;
 import com.cloud.hypervisor.vmware.mo.VirtualMachineMO;
 import com.cloud.hypervisor.vmware.mo.VirtualSwitchType;
@@ -232,7 +224,6 @@ import com.cloud.network.rules.FirewallRule;
 import com.cloud.resource.ServerResource;
 import com.cloud.serializer.GsonHelper;
 import com.cloud.storage.Storage;
-import com.cloud.storage.StoragePool;
 import com.cloud.storage.Storage.StoragePoolType;
 import com.cloud.storage.Volume;
 import com.cloud.storage.VolumeManager;
@@ -263,12 +254,10 @@ import com.vmware.vim25.DatastoreSummary;
 import com.vmware.vim25.DynamicProperty;
 import com.vmware.vim25.GuestInfo;
 import com.vmware.vim25.HostCapability;
-import com.vmware.vim25.HostDatastoreBrowserSearchResults;
 import com.vmware.vim25.HostFirewallInfo;
 import com.vmware.vim25.HostFirewallRuleset;
 import com.vmware.vim25.HostNetworkTrafficShapingPolicy;
 import com.vmware.vim25.HostPortGroupSpec;
-import com.vmware.vim25.ManagedObjectNotFound;
 import com.vmware.vim25.ManagedObjectReference;
 import com.vmware.vim25.ObjectContent;
 import com.vmware.vim25.OptionValue;
@@ -284,13 +273,9 @@ import com.vmware.vim25.RuntimeFaultFaultMsg;
 import com.vmware.vim25.ToolsUnavailableFaultMsg;
 import com.vmware.vim25.VimPortType;
 import com.vmware.vim25.VirtualDevice;
-import com.vmware.vim25.VirtualDeviceBackingInfo;
 import com.vmware.vim25.VirtualDeviceConfigSpec;
 import com.vmware.vim25.VirtualDeviceConfigSpecOperation;
 import com.vmware.vim25.VirtualDisk;
-import com.vmware.vim25.VirtualDiskFlatVer2BackingInfo;
-import com.vmware.vim25.VirtualDiskMode;
-import com.vmware.vim25.VirtualDiskType;
 import com.vmware.vim25.VirtualEthernetCard;
 import com.vmware.vim25.VirtualEthernetCardNetworkBackingInfo;
 import com.vmware.vim25.VirtualLsiLogicController;
@@ -303,33 +288,9 @@ import com.vmware.vim25.VirtualMachineRelocateSpecDiskLocator;
 import com.vmware.vim25.VirtualMachineRuntimeInfo;
 import com.vmware.vim25.VirtualSCSISharing;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.NDC;
-
-import javax.naming.ConfigurationException;
-import java.io.File;
-import java.io.IOException;
-import java.net.ConnectException;
-import java.net.InetSocketAddress;
-import java.net.URI;
-import java.nio.channels.SocketChannel;
-import java.rmi.RemoteException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
 import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
 import java.util.Set;
 import java.util.Map.Entry;
-import java.util.Random;
-import java.util.TimeZone;
-import java.util.UUID;
 
 public class VmwareResource implements StoragePoolResource, ServerResource, VmwareHostService {
     private static final Logger s_logger = Logger.getLogger(VmwareResource.class);
@@ -1483,7 +1444,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
         try {
             VmwareHypervisorHost hyperHost = getHyperHost(context);
 
-            String vmName = cmd.getInstanceName();
+            String vmName = cmd.getVmName();
             VirtualMachineMO vmMo = hyperHost.findVmOnHyperHost(vmName);
 
             if(vmMo == null) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da6f39b7/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index 66f96ad..e92c3fc 100644
--- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -8123,7 +8123,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
      */
     private UnPlugNicAnswer execute(UnPlugNicCommand cmd) {
         Connection conn = getConnection();
-        String vmName = cmd.getInstanceName();
+        String vmName = cmd.getVmName();
         try {
             Set<VM> vms = VM.getByNameLabel(conn, vmName);
             if ( vms == null || vms.isEmpty() ) {


[5/5] git commit: updated refs/heads/master to f321acd

Posted by ts...@apache.org.
Provide mock implementations of VPC network commands

Provide mock implementations for all network commands in the
MockNetworkManagerImpl of the simualtor

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/f321acd0
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f321acd0
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f321acd0

Branch: refs/heads/master
Commit: f321acd06dcffe953bcdb1f3d54c7b88fab9dbdb
Parents: da6f39b
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Jun 4 21:40:30 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Wed Jun 5 12:47:31 2013 +0530

----------------------------------------------------------------------
 .../cloud/agent/manager/MockNetworkManager.java    |   28 +++-
 .../agent/manager/MockNetworkManagerImpl.java      |  138 +++++++++++++--
 .../com/cloud/agent/manager/MockVmManagerImpl.java |   61 ++++++-
 .../cloud/agent/manager/SimulatorManagerImpl.java  |   14 +-
 4 files changed, 209 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f321acd0/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..554af68 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,29 @@ 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.SetupGuestNetworkAnswer;
+import com.cloud.agent.api.SetupGuestNetworkCommand;
+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 +67,23 @@ 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);
+    SetupGuestNetworkAnswer setUpGuestNetwork(SetupGuestNetworkCommand cmd);
+
+    SetStaticNatRulesAnswer setVPCStaticNatRules(SetStaticNatRulesCommand cmd);
+
+    SetStaticRouteAnswer setStaticRoute(SetStaticRouteCommand cmd);
 
     Answer siteToSiteVpn(Site2SiteVpnCfgCommand cmd);
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f321acd0/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..ea8bcce 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,47 @@ 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.SetupGuestNetworkAnswer;
+import com.cloud.agent.api.SetupGuestNetworkCommand;
+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.MockVMVO;
+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 +76,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 +121,107 @@ 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 SetupGuestNetworkAnswer setUpGuestNetwork(SetupGuestNetworkCommand cmd) {
+        String domrName = cmd.getAccessDetail(NetworkElementCommand.ROUTER_NAME);
+        try {
+            MockVMVO vms = _mockVmDao.findByVmName(domrName);
+            if (vms == null) {
+                return new SetupGuestNetworkAnswer(cmd, false, "Can not find VM " + domrName);
+            }
+            return new SetupGuestNetworkAnswer(cmd, true, "success");
+        } catch (Exception e) {
+            String msg = "Creating guest network failed due to " + e.toString();
+            s_logger.warn(msg, e);
+            return new SetupGuestNetworkAnswer(cmd, false, msg);
+        }
+    }
+
+    @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/f321acd0/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
index 6ee9d60..64df113 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
@@ -17,12 +17,47 @@
 package com.cloud.agent.manager;
 
 
-import com.cloud.agent.api.*;
+import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.BumpUpPriorityCommand;
+import com.cloud.agent.api.CheckRouterAnswer;
+import com.cloud.agent.api.CheckRouterCommand;
+import com.cloud.agent.api.CheckVirtualMachineAnswer;
+import com.cloud.agent.api.CheckVirtualMachineCommand;
+import com.cloud.agent.api.CleanupNetworkRulesCmd;
+import com.cloud.agent.api.CreateVMSnapshotAnswer;
+import com.cloud.agent.api.CreateVMSnapshotCommand;
+import com.cloud.agent.api.DeleteVMSnapshotAnswer;
+import com.cloud.agent.api.DeleteVMSnapshotCommand;
+import com.cloud.agent.api.GetDomRVersionAnswer;
+import com.cloud.agent.api.GetDomRVersionCmd;
+import com.cloud.agent.api.GetVmStatsAnswer;
+import com.cloud.agent.api.GetVmStatsCommand;
+import com.cloud.agent.api.GetVncPortAnswer;
+import com.cloud.agent.api.GetVncPortCommand;
+import com.cloud.agent.api.MigrateAnswer;
+import com.cloud.agent.api.MigrateCommand;
+import com.cloud.agent.api.NetworkRulesVmSecondaryIpCommand;
+import com.cloud.agent.api.PrepareForMigrationAnswer;
+import com.cloud.agent.api.PrepareForMigrationCommand;
+import com.cloud.agent.api.RebootAnswer;
+import com.cloud.agent.api.RebootCommand;
+import com.cloud.agent.api.RevertToVMSnapshotAnswer;
+import com.cloud.agent.api.RevertToVMSnapshotCommand;
+import com.cloud.agent.api.ScaleVmCommand;
+import com.cloud.agent.api.SecurityGroupRuleAnswer;
+import com.cloud.agent.api.SecurityGroupRulesCmd;
+import com.cloud.agent.api.StartAnswer;
+import com.cloud.agent.api.StartCommand;
+import com.cloud.agent.api.StopAnswer;
+import com.cloud.agent.api.StopCommand;
+import com.cloud.agent.api.VmStatsEntry;
 import com.cloud.agent.api.check.CheckSshAnswer;
 import com.cloud.agent.api.check.CheckSshCommand;
 import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
 import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
-import com.cloud.agent.api.routing.*;
+import com.cloud.agent.api.routing.NetworkElementCommand;
+import com.cloud.agent.api.routing.SavePasswordCommand;
+import com.cloud.agent.api.routing.VmDataCommand;
 import com.cloud.agent.api.to.NicTO;
 import com.cloud.agent.api.to.VirtualMachineTO;
 import com.cloud.network.Networks.TrafficType;
@@ -437,17 +472,33 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager {
 
     @Override
     public Answer createVmSnapshot(CreateVMSnapshotCommand cmd) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        String vmName = cmd.getVmName();
+        String vmSnapshotName = cmd.getTarget().getSnapshotName();
+
+        s_logger.debug("Created snapshot " +vmSnapshotName+ " for vm " + vmName);
+        return new CreateVMSnapshotAnswer(cmd, cmd.getTarget(), cmd.getVolumeTOs());
     }
 
     @Override
     public Answer deleteVmSnapshot(DeleteVMSnapshotCommand cmd) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        String vm = cmd.getVmName();
+        String snapshotName = cmd.getTarget().getSnapshotName();
+        if(_mockVmDao.findByVmName(cmd.getVmName()) != null) {
+            return new DeleteVMSnapshotAnswer(cmd, false, "No VM by name "+ cmd.getVmName());
+        }
+        s_logger.debug("Removed snapshot " +snapshotName+ " of VM "+vm);
+        return new DeleteVMSnapshotAnswer(cmd, true, "success");
     }
 
     @Override
     public Answer revertVmSnapshot(RevertToVMSnapshotCommand cmd) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        String vm = cmd.getVmName();
+        String snapshot = cmd.getTarget().getSnapshotName();
+        if(_mockVmDao.findByVmName(cmd.getVmName()) != null) {
+            return new RevertToVMSnapshotAnswer(cmd, false, "No VM by name "+ cmd.getVmName());
+        }
+        s_logger.debug("Reverted to snapshot " +snapshot+ " of VM "+vm);
+        return new RevertToVMSnapshotAnswer(cmd, true, "success");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f321acd0/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..1f1f4c5 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
@@ -59,6 +59,7 @@ import com.cloud.agent.api.ScaleVmCommand;
 import com.cloud.agent.api.SecStorageSetupCommand;
 import com.cloud.agent.api.SecStorageVMSetupCommand;
 import com.cloud.agent.api.SecurityGroupRulesCmd;
+import com.cloud.agent.api.SetupGuestNetworkCommand;
 import com.cloud.agent.api.StartCommand;
 import com.cloud.agent.api.StopCommand;
 import com.cloud.agent.api.StoragePoolInfo;
@@ -331,8 +332,12 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage
                 return _mockNetworkMgr.setSourceNat((SetSourceNatCommand) cmd);
             } else if (cmd instanceof SetNetworkACLCommand) {
                 return _mockNetworkMgr.setNetworkAcl((SetNetworkACLCommand) cmd);
+            } else if (cmd instanceof SetupGuestNetworkCommand) {
+                return _mockNetworkMgr.setUpGuestNetwork((SetupGuestNetworkCommand) 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) {
@@ -340,18 +345,19 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage
             } else if (cmd instanceof CheckS2SVpnConnectionsCommand) {
                 return _mockNetworkMgr.checkSiteToSiteVpnConnection((CheckS2SVpnConnectionsCommand) cmd);
             } else if (cmd instanceof CreateVMSnapshotCommand) {
-                return _mockVmMgr.createVmSnapshot((CreateVMSnapshotCommand)cmd);
+                return _mockVmMgr.createVmSnapshot((CreateVMSnapshotCommand) cmd);
             } else if (cmd instanceof DeleteVMSnapshotCommand) {
-                return _mockVmMgr.deleteVmSnapshot((DeleteVMSnapshotCommand)cmd);
+                return _mockVmMgr.deleteVmSnapshot((DeleteVMSnapshotCommand) cmd);
             } else if (cmd instanceof RevertToVMSnapshotCommand) {
-                return _mockVmMgr.revertVmSnapshot((RevertToVMSnapshotCommand)cmd);
+                return _mockVmMgr.revertVmSnapshot((RevertToVMSnapshotCommand) cmd);
             } else if (cmd instanceof NetworkRulesVmSecondaryIpCommand) {
-                return _mockVmMgr.plugSecondaryIp((NetworkRulesVmSecondaryIpCommand)cmd);
+                return _mockVmMgr.plugSecondaryIp((NetworkRulesVmSecondaryIpCommand) cmd);
             } else if (cmd instanceof ScaleVmCommand) {
                 return _mockVmMgr.scaleVm((ScaleVmCommand) cmd);
             } else if (cmd instanceof PvlanSetupCommand) {
                 return _mockNetworkMgr.setupPVLAN((PvlanSetupCommand) cmd);
             } else {
+                s_logger.error("Simulator does not implement command of type "+cmd.toString());
                 return Answer.createUnsupportedCommandAnswer(cmd);
             }
         } catch(Exception e) {