diff --git a/plugins/hypervisors/simulator/pom.xml b/plugins/hypervisors/simulator/pom.xml
new file mode 100644
index 00000000000..15b37900590
--- /dev/null
+++ b/plugins/hypervisors/simulator/pom.xml
@@ -0,0 +1,45 @@
+
+
+ 4.0.0
+
+ org.apache.cloudstack
+ cloudstack-plugins
+ 4.1.0-SNAPSHOT
+ ../../pom.xml
+
+ org.apache.cloudstack
+ cloud-plugin-hypervisor-simulator
+ 4.1.0-SNAPSHOT
+ Apache CloudStack Plugin - Hypervisor Simulator
+ Simulator Hypervisor for Cloudstack
+
+ install
+ src
+ test
+
+
+
+ org.apache.cloudstack
+ cloud-utils
+ ${project.version}
+
+
+
\ No newline at end of file
diff --git a/agent-simulator/src/com/cloud/agent/MetricsCollector.java b/plugins/hypervisors/simulator/src/com/cloud/agent/MetricsCollector.java
similarity index 89%
rename from agent-simulator/src/com/cloud/agent/MetricsCollector.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/MetricsCollector.java
index 7d86a0c8e3e..fd611f83b9f 100644
--- a/agent-simulator/src/com/cloud/agent/MetricsCollector.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/MetricsCollector.java
@@ -30,43 +30,43 @@ import com.cloud.utils.concurrency.NamedThreadFactory;
public class MetricsCollector {
private static final Logger s_logger = Logger.getLogger(MetricsCollector.class);
-
+
private final Set vmNames = new HashSet();
private final Set newVMnames = new HashSet();
private final Map metricsMap = new HashMap();
-
+
private final transient ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1, new NamedThreadFactory("Metrics"));
private Set _currentVms;
-
+
public MetricsCollector(Set currentVms) {
_currentVms = currentVms;
getAllVMNames();
}
-
+
public MetricsCollector() {
-
+
}
-
+
public synchronized void getAllVMNames() {
Set currentVMs = _currentVms;
-
+
newVMnames.clear();
newVMnames.addAll(currentVMs);
newVMnames.removeAll(vmNames); //leave only new vms
-
+
vmNames.removeAll(currentVMs); //old vms - current vms --> leave non-running vms;
for (String vm: vmNames) {
- removeVM(vm);
+ removeVM(vm);
}
-
+
vmNames.clear();
vmNames.addAll(currentVMs);
}
-
+
public synchronized void submitMetricsJobs() {
s_logger.debug("Submit Metric Jobs called");
-
+
for (String vm : newVMnames) {
MockVmMetrics task = new MockVmMetrics(vm);
if (!metricsMap.containsKey(vm)) {
@@ -77,30 +77,30 @@ public class MetricsCollector {
}
newVMnames.clear();
}
-
+
public synchronized void addVM(String vmName) {
newVMnames.add(vmName);
s_logger.debug("Added vm name= " + vmName);
}
-
+
public synchronized void removeVM(String vmName) {
newVMnames.remove(vmName);
vmNames.remove(vmName);
MockVmMetrics task = metricsMap.get(vmName);
- if (task != null) {
- task.stop();
- boolean r1= task.getFuture().cancel(false);
- metricsMap.remove(vmName);
- s_logger.debug("removeVM: cancel returned " + r1 + " for VM " + vmName);
- } else {
- s_logger.warn("removeVM called for nonexistent VM " + vmName);
- }
+ if (task != null) {
+ task.stop();
+ boolean r1= task.getFuture().cancel(false);
+ metricsMap.remove(vmName);
+ s_logger.debug("removeVM: cancel returned " + r1 + " for VM " + vmName);
+ } else {
+ s_logger.warn("removeVM called for nonexistent VM " + vmName);
}
-
+ }
+
public synchronized Set getVMNames() {
return vmNames;
}
-
+
public synchronized Map getMetricsMap() {
return metricsMap;
}
diff --git a/agent-simulator/src/com/cloud/agent/MockVmMetrics.java b/plugins/hypervisors/simulator/src/com/cloud/agent/MockVmMetrics.java
similarity index 96%
rename from agent-simulator/src/com/cloud/agent/MockVmMetrics.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/MockVmMetrics.java
index f106f367a9c..30b99e753a1 100644
--- a/agent-simulator/src/com/cloud/agent/MockVmMetrics.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/MockVmMetrics.java
@@ -25,52 +25,52 @@ import org.apache.log4j.Logger;
public class MockVmMetrics implements Runnable {
private static final Logger s_logger = Logger.getLogger(MockVmMetrics.class);
-
+
private String vmName;
-
+
public final int MAX_INTERFACES=1;
-
+
public final int MAX_DISKS=8;
-
+
//the last calculated traffic speed (transmit) per interface
private Map netTxKBps = new HashMap();
-
+
//the last calculated traffic speed (receive) per interface
private Map netRxKBps = new HashMap();
-
+
//the last calculated disk write speed per disk (Bytes Per Second)
private Map diskWriteKBytesPerSec = new HashMap();
-
+
//the last calculated disk read speed per disk (Bytes Per Second)
private Map diskReadKBytesPerSec = new HashMap();
-
+
//Total Bytes Transmitted on network interfaces
private Map netTxTotalBytes = new HashMap();
-
+
//Total Bytes Received on network interfaces
private Map netRxTotalBytes = new HashMap();
-
+
//Total Bytes read per disk
private Map diskReadTotalBytes = new HashMap();
//Total Bytes written per disk
private Map diskWriteTotalBytes = new HashMap();
-
+
//CPU time in seconds
private Double cpuSeconds = new Double(0.0);
-
+
//CPU percentage
private Float cpuPercent = new Float(0.0);
-
+
private Map diskMap = new HashMap();
private Map vifMap = new HashMap();
-
+
private Map diskStatTimestamp = new HashMap();
private Map netStatTimestamp = new HashMap();
-
+
private long cpuStatTimestamp = 0L;
-
+
private ScheduledFuture> future;
private boolean stopped = false;
private Random randSeed = new Random();
@@ -80,44 +80,44 @@ public class MockVmMetrics implements Runnable {
vifMap.put("eth0", "eth0");
vifMap.put("eth1", "eth1");
vifMap.put("eth2", "eth2");
-
+
Long networkStart = 0L;
netTxTotalBytes.put("eth0", networkStart);
netRxTotalBytes.put("eth0", networkStart);
-
+
netTxTotalBytes.put("eth1", networkStart);
netRxTotalBytes.put("eth1", networkStart);
-
+
netTxTotalBytes.put("eth2", networkStart);
- netRxTotalBytes.put("eth2", networkStart);
+ netRxTotalBytes.put("eth2", networkStart);
}
-
+
private int getIncrementor() {
return randSeed.nextInt(100);
}
-
+
@Override
public void run() {
if(s_logger.isDebugEnabled()) {
s_logger.debug("Generating MockVM metrics");
}
for (Map.Entry entry : netRxTotalBytes.entrySet()) {
- entry.setValue(entry.getValue() + getIncrementor());
+ entry.setValue(entry.getValue() + getIncrementor());
}
-
+
for (Map.Entry entry : netTxTotalBytes.entrySet()) {
entry.setValue(entry.getValue() + getIncrementor());
}
}
-
+
public String getVmName() {
return vmName;
}
-
+
public Map getNetTxKBps() {
return netTxKBps;
}
-
+
public Map getNetRxKBps() {
return netRxKBps;
}
@@ -125,11 +125,11 @@ public class MockVmMetrics implements Runnable {
public Map getDiskWriteBytesPerSec() {
return diskWriteKBytesPerSec;
}
-
+
public Map getDiskReadBytesPerSec() {
return diskReadKBytesPerSec;
}
-
+
public Map getNetTxTotalBytes() {
return netTxTotalBytes;
}
@@ -137,7 +137,7 @@ public class MockVmMetrics implements Runnable {
public Map getNetRxTotalBytes() {
return netRxTotalBytes;
}
-
+
public Map getDiskReadTotalBytes() {
return diskReadTotalBytes;
}
@@ -145,7 +145,7 @@ public class MockVmMetrics implements Runnable {
public Map getDiskWriteTotalBytes() {
return diskWriteTotalBytes;
}
-
+
public Double getNetTxKBps(String intf) {
return netTxKBps.get(intf);
}
@@ -153,7 +153,7 @@ public class MockVmMetrics implements Runnable {
public Double getNetRxKBps(String intf) {
return netRxKBps.get(intf);
}
-
+
public Double getDiskWriteKBytesPerSec(String disk) {
return diskWriteKBytesPerSec.get(disk);
}
@@ -161,7 +161,7 @@ public class MockVmMetrics implements Runnable {
public Double getDiskReadKBytesPerSec(String disk) {
return diskReadKBytesPerSec.get(disk);
}
-
+
public Long getNetTxTotalBytes(String intf) {
return netTxTotalBytes.get(intf);
}
@@ -169,7 +169,7 @@ public class MockVmMetrics implements Runnable {
public Long getNetRxTotalBytes(String intf) {
return netRxTotalBytes.get(intf);
}
-
+
public Long getDiskReadTotalBytes(String disk) {
return diskReadTotalBytes.get(disk);
}
@@ -177,7 +177,7 @@ public class MockVmMetrics implements Runnable {
public Long getDiskWriteTotalBytes(String disk) {
return diskWriteTotalBytes.get(disk);
}
-
+
public Double getCpuSeconds() {
return cpuSeconds;
}
@@ -189,7 +189,7 @@ public class MockVmMetrics implements Runnable {
public Float getCpuPercent() {
return cpuPercent;
}
-
+
public void setFuture(ScheduledFuture> sf) {
this.future = sf;
}
@@ -197,9 +197,8 @@ public class MockVmMetrics implements Runnable {
public ScheduledFuture> getFuture() {
return future;
}
-
+
public void stop() {
this.stopped = true;
}
}
-
diff --git a/agent-simulator/src/com/cloud/agent/MultiCaster.java b/plugins/hypervisors/simulator/src/com/cloud/agent/MultiCaster.java
similarity index 94%
rename from agent-simulator/src/com/cloud/agent/MultiCaster.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/MultiCaster.java
index 9c98ef651be..7d38baf0e68 100644
--- a/agent-simulator/src/com/cloud/agent/MultiCaster.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/MultiCaster.java
@@ -30,49 +30,49 @@ import org.apache.log4j.Logger;
public class MultiCaster implements Runnable {
private static final Logger s_logger = Logger.getLogger(MultiCaster.class);
-
+
public final int MAX_PACKET_SIZE = 8096;
-
+
private List listeners;
private DatagramSocket socket;
private byte[] recvBuffer;
-
+
private Thread driver;
private volatile boolean stopRequested = false;
-
+
public MultiCaster() {
listeners = new ArrayList();
recvBuffer = new byte[MAX_PACKET_SIZE];
}
-
+
public void addListener(MultiCasterListener listener) {
synchronized(listeners) {
listeners.add(listener);
}
}
-
+
public void removeListener(MultiCasterListener listener) {
synchronized(listeners) {
listeners.remove(listener);
}
}
-
- public void cast(byte[] buf, int off, int len,
+
+ public void cast(byte[] buf, int off, int len,
InetAddress toAddress, int nToPort) throws IOException {
-
+
if(socket == null)
throw new IOException("multi caster is not started");
-
+
if(len >= MAX_PACKET_SIZE)
throw new IOException("packet size exceeds limit of " + MAX_PACKET_SIZE);
-
- DatagramPacket packet = new DatagramPacket(buf, off,
+
+ DatagramPacket packet = new DatagramPacket(buf, off,
len, toAddress, nToPort);
socket.send(packet);
}
-
- public void start(String strOutboundAddress,
+
+ public void start(String strOutboundAddress,
String strClusterAddress, int nPort) throws SocketException {
assert(socket == null);
@@ -82,22 +82,22 @@ public class MultiCaster implements Runnable {
} catch(IOException e) {
s_logger.error("Unexpected exception " , e);
}
-
+
if(addr != null && addr.isMulticastAddress()) {
try {
socket = new MulticastSocket(nPort);
socket.setReuseAddress(true);
-
+
if(s_logger.isInfoEnabled())
s_logger.info("Join multicast group : " + addr);
-
+
((MulticastSocket)socket).joinGroup(addr);
((MulticastSocket)socket).setTimeToLive(1);
-
+
if(strOutboundAddress != null) {
if(s_logger.isInfoEnabled())
s_logger.info("set outgoing interface to : " + strOutboundAddress);
-
+
InetAddress ia = InetAddress.getByName(strOutboundAddress);
NetworkInterface ni = NetworkInterface.getByInetAddress(ia);
((MulticastSocket)socket).setNetworkInterface(ni);
@@ -109,16 +109,16 @@ public class MultiCaster implements Runnable {
socket = new DatagramSocket(nPort);
socket.setReuseAddress(true);
}
-
+
driver = new Thread(this, "Multi-caster");
driver.setDaemon(true);
driver.start();
}
-
+
public void stop() {
if(socket != null) {
stopRequested = true;
-
+
socket.close();
if(driver != null) {
try {
@@ -128,17 +128,17 @@ public class MultiCaster implements Runnable {
driver = null;
}
}
-
+
socket = null;
stopRequested = false;
}
-
+
public void run() {
while(!stopRequested) {
try {
DatagramPacket packet = new DatagramPacket(recvBuffer, recvBuffer.length);
socket.receive(packet);
-
+
for(Object listener : listeners.toArray()) {
((MultiCasterListener)listener).onMultiCasting(packet.getData(),
packet.getOffset(), packet.getLength(), packet.getAddress());
diff --git a/agent-simulator/src/com/cloud/agent/MultiCasterListener.java b/plugins/hypervisors/simulator/src/com/cloud/agent/MultiCasterListener.java
similarity index 100%
rename from agent-simulator/src/com/cloud/agent/MultiCasterListener.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/MultiCasterListener.java
diff --git a/agent-simulator/src/com/cloud/agent/SimulatorCmd.java b/plugins/hypervisors/simulator/src/com/cloud/agent/SimulatorCmd.java
similarity index 96%
rename from agent-simulator/src/com/cloud/agent/SimulatorCmd.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/SimulatorCmd.java
index 342bfd2491e..caed518dd78 100644
--- a/agent-simulator/src/com/cloud/agent/SimulatorCmd.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/SimulatorCmd.java
@@ -20,17 +20,17 @@ import java.io.Serializable;
public class SimulatorCmd implements Serializable {
private static final long serialVersionUID = 1L;
-
+
private String testCase = "DEFAULT";
-
+
public SimulatorCmd(String testCase) {
- this.testCase = testCase;
+ this.testCase = testCase;
}
-
+
public String getTestCase() {
return testCase;
}
-
+
public void setTestCase(String testCase) {
this.testCase = testCase;
}
diff --git a/agent-simulator/src/com/cloud/agent/SimulatorMigrateVmCmd.java b/plugins/hypervisors/simulator/src/com/cloud/agent/SimulatorMigrateVmCmd.java
similarity index 99%
rename from agent-simulator/src/com/cloud/agent/SimulatorMigrateVmCmd.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/SimulatorMigrateVmCmd.java
index f86b16ee7d4..6a2190d696a 100644
--- a/agent-simulator/src/com/cloud/agent/SimulatorMigrateVmCmd.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/SimulatorMigrateVmCmd.java
@@ -21,12 +21,12 @@ public class SimulatorMigrateVmCmd extends SimulatorCmd {
private static final long serialVersionUID = 1L;
private String destIp;
-
+
private String vmName;
private long ramSize;
private int cpuCount;
private int utilization;
-
+
public SimulatorMigrateVmCmd(String testCase) {
super(testCase);
}
@@ -38,7 +38,7 @@ public class SimulatorMigrateVmCmd extends SimulatorCmd {
public void setDestIp(String destIp) {
this.destIp = destIp;
}
-
+
public String getVmName() {
return vmName;
}
@@ -70,14 +70,14 @@ public class SimulatorMigrateVmCmd extends SimulatorCmd {
public void setUtilization(int utilization) {
this.utilization = utilization;
}
-
+
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("SimulatorMigrateVmCmd {").append("vm: ").append(getVmName());
sb.append(", destIp: ").append(getDestIp()).append(", ramSize: ").append(getRamSize());
sb.append(", cpuCount: ").append(getCpuCount()).append(", utilization: ").append(getUtilization());
sb.append("}");
-
+
return sb.toString();
}
}
diff --git a/agent-simulator/src/com/cloud/agent/manager/MockAgentManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManager.java
similarity index 100%
rename from agent-simulator/src/com/cloud/agent/manager/MockAgentManager.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManager.java
diff --git a/agent-simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
similarity index 100%
rename from agent-simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
diff --git a/agent-simulator/src/com/cloud/agent/manager/MockStorageManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManager.java
similarity index 99%
rename from agent-simulator/src/com/cloud/agent/manager/MockStorageManager.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManager.java
index 3b7a286c5e1..fc8aacc6ec3 100644
--- a/agent-simulator/src/com/cloud/agent/manager/MockStorageManager.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManager.java
@@ -51,17 +51,17 @@ import com.cloud.utils.component.Manager;
public interface MockStorageManager extends Manager {
public static final long DEFAULT_HOST_STORAGE_SIZE = 1 * 1024 * 1024 * 1024 * 1024L; //1T
public static final long DEFAULT_TEMPLATE_SIZE = 1 * 1000 * 1000 * 1000L; //1G
-
+
public PrimaryStorageDownloadAnswer primaryStorageDownload(PrimaryStorageDownloadCommand cmd);
-
+
public CreateAnswer createVolume(CreateCommand cmd);
public AttachVolumeAnswer AttachVolume(AttachVolumeCommand cmd);
public Answer AttachIso(AttachIsoCommand cmd);
-
+
public Answer DeleteStoragePool(DeleteStoragePoolCommand cmd);
public Answer ModifyStoragePool(ModifyStoragePoolCommand cmd);
public Answer CreateStoragePool(CreateStoragePoolCommand cmd);
-
+
public Answer SecStorageSetup(SecStorageSetupCommand cmd);
public Answer ListTemplates(ListTemplateCommand cmd);
public Answer Destroy(DestroyCommand cmd);
@@ -74,7 +74,7 @@ public interface MockStorageManager extends Manager {
public Answer CreateVolumeFromSnapshot(CreateVolumeFromSnapshotCommand cmd);
public Answer DeleteTemplate(DeleteTemplateCommand cmd);
public Answer SecStorageVMSetup(SecStorageVMSetupCommand cmd);
-
+
public void preinstallTemplates(String url, long zoneId);
StoragePoolInfo getLocalStorage(String hostGuid);
diff --git a/agent-simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
similarity index 99%
rename from agent-simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
index cc15b206738..9bf4192c4bd 100644
--- a/agent-simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
@@ -703,7 +703,7 @@ public class MockStorageManagerImpl implements MockStorageManager {
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
}
-
+
MockVolumeVO newsnapshot = new MockVolumeVO();
String name = UUID.randomUUID().toString();
newsnapshot.setName(name);
@@ -953,7 +953,7 @@ public class MockStorageManagerImpl implements MockStorageManager {
@Override
public StoragePoolInfo getLocalStorage(String hostGuid) {
Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
- MockHost host = null;
+ MockHost host = null;
MockStoragePoolVO storagePool = null;
try {
txn.start();
@@ -968,7 +968,7 @@ public class MockStorageManagerImpl implements MockStorageManager {
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
}
-
+
if (storagePool == null) {
String uuid = UUID.randomUUID().toString();
storagePool = new MockStoragePoolVO();
@@ -998,7 +998,7 @@ public class MockStorageManagerImpl implements MockStorageManager {
@Override
public StoragePoolInfo getLocalStorage(String hostGuid, Long storageSize) {
Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
- MockHost host = null;
+ MockHost host = null;
try {
txn.start();
host = _mockHostDao.findByGuid(hostGuid);
diff --git a/agent-simulator/src/com/cloud/agent/manager/MockVmManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java
similarity index 98%
rename from agent-simulator/src/com/cloud/agent/manager/MockVmManager.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java
index 07cf584883e..82f600d04b3 100644
--- a/agent-simulator/src/com/cloud/agent/manager/MockVmManager.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java
@@ -40,7 +40,7 @@ import com.cloud.vm.VirtualMachine.State;
public interface MockVmManager extends Manager {
public Answer stopVM(StopCommand cmd);
public Answer rebootVM(RebootCommand cmd);
-
+
public Answer checkVmState(CheckVirtualMachineCommand cmd);
public Map getVmStates(String hostGuid);
public Answer getVncPort(GetVncPortCommand cmd);
@@ -49,27 +49,27 @@ public interface MockVmManager extends Manager {
Answer getVmStats(GetVmStatsCommand cmd);
public CheckSshAnswer checkSshCommand(CheckSshCommand cmd);
-
+
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 setVmData(VmDataCommand cmd);
Answer CleanupNetworkRules(CleanupNetworkRulesCmd cmd, SimulatorInfo info);
-
+
Answer CheckConsoleProxyLoad(CheckConsoleProxyLoadCommand cmd);
Answer WatchConsoleProxyLoad(WatchConsoleProxyLoadCommand cmd);
-
+
Answer SavePassword(SavePasswordCommand cmd);
HashMap> syncNetworkGroups(SimulatorInfo info);
SecurityGroupRuleAnswer AddSecurityGroupRules(SecurityGroupRulesCmd cmd, SimulatorInfo info);
diff --git a/agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
similarity index 94%
rename from agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
index 78881f2fc3a..8177cda6b64 100644
--- a/agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
@@ -60,20 +60,20 @@ public class MockVmManagerImpl implements MockVmManager {
@Inject MockHostDao _mockHostDao = null;
@Inject MockSecurityRulesDao _mockSecurityDao = null;
private Map>> _securityRules = new ConcurrentHashMap>>();
-
+
public MockVmManagerImpl() {
}
-
+
@Override
public boolean configure(String name, Map params)
throws ConfigurationException {
-
+
return true;
}
-
+
public String startVM(String vmName, NicTO[] nics,
- int cpuHz, long ramSize,
- String bootArgs, String hostGuid) {
+ int cpuHz, long ramSize,
+ String bootArgs, String hostGuid) {
Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
MockHost host = null;
@@ -95,7 +95,7 @@ public class MockVmManagerImpl implements MockVmManager {
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
}
-
+
if(vm == null) {
int vncPort = 0;
if(vncPort < 0)
@@ -108,13 +108,13 @@ public class MockVmManagerImpl implements MockVmManager {
vm.setVncPort(vncPort);
vm.setHostId(host.getId());
if(vmName.startsWith("s-")) {
- vm.setType("SecondaryStorageVm");
+ vm.setType("SecondaryStorageVm");
} else if (vmName.startsWith("v-")) {
- vm.setType("ConsoleProxy");
+ vm.setType("ConsoleProxy");
} else if (vmName.startsWith("r-")) {
- vm.setType("DomainRouter");
+ vm.setType("DomainRouter");
} else if (vmName.startsWith("i-")) {
- vm.setType("User");
+ vm.setType("User");
}
txn = Transaction.open(Transaction.SIMULATOR_DB);
try {
@@ -133,18 +133,18 @@ public class MockVmManagerImpl implements MockVmManager {
if(vm.getState() == State.Stopped) {
vm.setState(State.Running);
txn = Transaction.open(Transaction.SIMULATOR_DB);
- try {
- txn.start();
- _mockVmDao.update(vm.getId(), (MockVMVO)vm);
- txn.commit();
- } catch (Exception ex) {
- txn.rollback();
- throw new CloudRuntimeException("unable to update vm " + vm.getName(), ex);
- } finally {
- txn.close();
+ try {
+ txn.start();
+ _mockVmDao.update(vm.getId(), (MockVMVO)vm);
+ txn.commit();
+ } catch (Exception ex) {
+ txn.rollback();
+ throw new CloudRuntimeException("unable to update vm " + vm.getName(), ex);
+ } finally {
+ txn.close();
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
- }
+ }
}
}
@@ -212,7 +212,7 @@ public class MockVmManagerImpl implements MockVmManager {
}
return true;
}
-
+
@Override
public Map getVms(String hostGuid) {
Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
@@ -303,8 +303,8 @@ public class MockVmManagerImpl implements MockVmManager {
@Override
public String getName() {
return this.getClass().getSimpleName();
- }
-
+ }
+
@Override
public Answer getVmStats(GetVmStatsCommand cmd) {
HashMap vmStatsNameMap = new HashMap();
@@ -370,9 +370,9 @@ public class MockVmManagerImpl implements MockVmManager {
@Override
public Answer SetFirewallRules(SetFirewallRulesCommand cmd) {
- return new Answer(cmd);
+ return new Answer(cmd);
}
-
+
@Override
public NetworkUsageAnswer getNetworkUsage(NetworkUsageCommand cmd) {
@@ -516,20 +516,20 @@ public class MockVmManagerImpl implements MockVmManager {
public Answer WatchConsoleProxyLoad(WatchConsoleProxyLoadCommand cmd) {
return Answer.createUnsupportedCommandAnswer(cmd);
}
-
+
@Override
public GetDomRVersionAnswer getDomRVersion(GetDomRVersionCmd cmd) {
- return new GetDomRVersionAnswer(cmd, null, null, null);
+ return new GetDomRVersionAnswer(cmd, null, null, null);
}
@Override
public SecurityGroupRuleAnswer AddSecurityGroupRules(SecurityGroupRulesCmd cmd, SimulatorInfo info) {
if (!info.isEnabled()) {
- return new SecurityGroupRuleAnswer(cmd, false, "Disabled", SecurityGroupRuleAnswer.FailureReason.CANNOT_BRIDGE_FIREWALL);
+ return new SecurityGroupRuleAnswer(cmd, false, "Disabled", SecurityGroupRuleAnswer.FailureReason.CANNOT_BRIDGE_FIREWALL);
}
-
+
Map> rules = _securityRules.get(info.getHostUuid());
-
+
if (rules == null) {
logSecurityGroupAction(cmd, null);
rules = new ConcurrentHashMap>();
@@ -539,10 +539,10 @@ public class MockVmManagerImpl implements MockVmManager {
logSecurityGroupAction(cmd, rules.get(cmd.getVmName()));
rules.put(cmd.getVmName(), new Ternary(cmd.getSignature(), cmd.getVmId(), cmd.getSeqNum()));
}
-
+
return new SecurityGroupRuleAnswer(cmd);
}
-
+
private boolean logSecurityGroupAction(SecurityGroupRulesCmd cmd, Ternary rule) {
String action = ", do nothing";
String reason = ", reason=";
@@ -554,13 +554,13 @@ public class MockVmManagerImpl implements MockVmManager {
s_logger.info("New seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum);
updateSeqnoAndSig = true;
if (!cmd.getSignature().equals(currSig)) {
- s_logger.info("New seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum
+ s_logger.info("New seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum
+ " new signature received:" + cmd.getSignature() + " curr=" + currSig + ", updated iptables");
action = ", updated iptables";
reason = reason + "seqno_increased_sig_changed";
} else {
- s_logger.info("New seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum
- + " no change in signature:" + cmd.getSignature() + ", do nothing");
+ s_logger.info("New seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum
+ + " no change in signature:" + cmd.getSignature() + ", do nothing");
reason = reason + "seqno_increased_sig_same";
}
} else if (cmd.getSeqNum() < currSeqnum) {
@@ -568,14 +568,14 @@ public class MockVmManagerImpl implements MockVmManager {
reason = reason + "seqno_decreased";
} else {
if (!cmd.getSignature().equals(currSig)) {
- s_logger.info("Identical seqno received: " + cmd.getSeqNum()
+ s_logger.info("Identical seqno received: " + cmd.getSeqNum()
+ " new signature received:" + cmd.getSignature() + " curr=" + currSig + ", updated iptables");
action = ", updated iptables";
reason = reason + "seqno_same_sig_changed";
updateSeqnoAndSig = true;
} else {
- s_logger.info("Identical seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum
- + " no change in signature:" + cmd.getSignature() + ", do nothing");
+ s_logger.info("Identical seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum
+ + " no change in signature:" + cmd.getSignature() + ", do nothing");
reason = reason + "seqno_same_sig_same";
}
}
@@ -585,8 +585,8 @@ public class MockVmManagerImpl implements MockVmManager {
action = ", updated iptables";
reason = ", seqno_new";
}
- s_logger.info("Programmed network rules for vm " + cmd.getVmName() + " seqno=" + cmd.getSeqNum()
- + " signature=" + cmd.getSignature()
+ s_logger.info("Programmed network rules for vm " + cmd.getVmName() + " seqno=" + cmd.getSeqNum()
+ + " signature=" + cmd.getSignature()
+ " guestIp=" + cmd.getGuestIp() + ", numIngressRules="
+ cmd.getIngressRuleSet().length + ", numEgressRules="
+ cmd.getEgressRuleSet().length + " total cidrs=" + cmd.getTotalNumCidrs() + action + reason);
@@ -595,13 +595,13 @@ public class MockVmManagerImpl implements MockVmManager {
@Override
public Answer SavePassword(SavePasswordCommand cmd) {
- return new Answer(cmd);
+ return new Answer(cmd);
}
-
+
@Override
public HashMap> syncNetworkGroups(SimulatorInfo info) {
HashMap> maps = new HashMap>();
-
+
Map> rules = _securityRules.get(info.getHostUuid());
if (rules == null) {
return maps;
diff --git a/agent-simulator/src/com/cloud/agent/manager/SimulatorInfo.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorInfo.java
similarity index 98%
rename from agent-simulator/src/com/cloud/agent/manager/SimulatorInfo.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorInfo.java
index dafd33abb51..c084730c6bb 100644
--- a/agent-simulator/src/com/cloud/agent/manager/SimulatorInfo.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorInfo.java
@@ -20,39 +20,39 @@ public class SimulatorInfo {
private boolean enabled;
private int timeout;
private String hostUuid;
-
+
public SimulatorInfo(boolean enabled, int timeout, String hostUuid) {
this.enabled = enabled;
this.timeout = timeout;
this.hostUuid = hostUuid;
}
-
+
public SimulatorInfo() {
this.enabled = true;
this.timeout = -1;
this.hostUuid = null;
}
-
+
public boolean isEnabled() {
return this.enabled;
}
-
+
public int getTimeout() {
return this.timeout;
}
-
+
public String getHostUuid() {
return this.hostUuid;
}
-
+
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
-
+
public void setTimeout(int timeout) {
this.timeout = timeout;
}
-
+
public void setHostUuid(String hostUuid) {
this.hostUuid = hostUuid;
}
diff --git a/agent-simulator/src/com/cloud/agent/manager/SimulatorManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManager.java
similarity index 97%
rename from agent-simulator/src/com/cloud/agent/manager/SimulatorManager.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManager.java
index 2b31b14d32f..ff8c32ce185 100755
--- a/agent-simulator/src/com/cloud/agent/manager/SimulatorManager.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManager.java
@@ -23,7 +23,6 @@ import java.util.Map;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
import com.cloud.agent.api.StoragePoolInfo;
-import com.cloud.agent.mockvm.MockVm;
import com.cloud.simulator.MockVMVO;
import com.cloud.utils.Pair;
import com.cloud.utils.component.Manager;
@@ -31,10 +30,10 @@ import com.cloud.vm.VirtualMachine.State;
public interface SimulatorManager extends Manager {
public static final String Name = "simulator manager";
-
+
public enum AgentType {
Computing(0), // not used anymore
- Routing(1),
+ Routing(1),
Storage(2);
int value;
@@ -56,7 +55,7 @@ public interface SimulatorManager extends Manager {
Answer simulate(Command cmd, String hostGuid);
StoragePoolInfo getLocalStorage(String hostGuid);
-
+
boolean configureSimulator(Long zoneId, Long podId, Long clusterId, Long hostId, String command, String values);
public HashMap> syncNetworkGroups(String hostGuid);
diff --git a/agent-simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
similarity index 88%
rename from agent-simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
rename to plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
index 9a81ea6edaa..a32da34f0a9 100644
--- a/agent-simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
@@ -121,43 +121,43 @@ public class SimulatorManagerImpl implements SimulatorManager {
public Answer simulate(Command cmd, String hostGuid) {
Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
// txn.transitToUserManagedConnection(_concierge.conn());
-
+
try {
MockHost host = _mockHost.findByGuid(hostGuid);
String cmdName = cmd.toString();
int index = cmdName.lastIndexOf(".");
if (index != -1) {
- cmdName = cmdName.substring(index + 1);
+ cmdName = cmdName.substring(index + 1);
}
MockConfigurationVO config = _mockConfigDao.findByNameBottomUP(host.getDataCenterId(), host.getPodId(), host.getClusterId(), host.getId(), cmdName);
-
+
SimulatorInfo info = new SimulatorInfo();
info.setHostUuid(hostGuid);
-
+
if (config != null) {
Map configParameters = config.getParameters();
for (Map.Entry entry : configParameters.entrySet()) {
- if (entry.getKey().equalsIgnoreCase("enabled")) {
- info.setEnabled(Boolean.parseBoolean(entry.getValue()));
- } else if (entry.getKey().equalsIgnoreCase("timeout")) {
- try {
- info.setTimeout(Integer.valueOf(entry.getValue()));
- } catch (NumberFormatException e) {
- s_logger.debug("invalid timeout parameter: " + e.toString());
- }
- } else if (entry.getKey().equalsIgnoreCase("wait")) {
- try {
- int wait = Integer.valueOf(entry.getValue());
- Thread.sleep(wait * 1000);
- } catch (NumberFormatException e) {
- s_logger.debug("invalid timeout parameter: " + e.toString());
- } catch (InterruptedException e) {
- s_logger.debug("thread is interrupted: " + e.toString());
- }
- }
+ if (entry.getKey().equalsIgnoreCase("enabled")) {
+ info.setEnabled(Boolean.parseBoolean(entry.getValue()));
+ } else if (entry.getKey().equalsIgnoreCase("timeout")) {
+ try {
+ info.setTimeout(Integer.valueOf(entry.getValue()));
+ } catch (NumberFormatException e) {
+ s_logger.debug("invalid timeout parameter: " + e.toString());
+ }
+ } else if (entry.getKey().equalsIgnoreCase("wait")) {
+ try {
+ int wait = Integer.valueOf(entry.getValue());
+ Thread.sleep(wait * 1000);
+ } catch (NumberFormatException e) {
+ s_logger.debug("invalid timeout parameter: " + e.toString());
+ } catch (InterruptedException e) {
+ s_logger.debug("thread is interrupted: " + e.toString());
+ }
+ }
}
}
-
+
if (cmd instanceof GetHostStatsCommand) {
return _mockAgentMgr.getHostStatistic((GetHostStatsCommand)cmd);
} else if (cmd instanceof CheckHealthCommand) {
@@ -165,7 +165,7 @@ public class SimulatorManagerImpl implements SimulatorManager {
} else if (cmd instanceof PingTestCommand) {
return _mockAgentMgr.pingTest((PingTestCommand)cmd);
} else if (cmd instanceof PrepareForMigrationCommand) {
- return _mockAgentMgr.prepareForMigrate((PrepareForMigrationCommand)cmd);
+ return _mockAgentMgr.prepareForMigrate((PrepareForMigrationCommand)cmd);
} else if (cmd instanceof MigrateCommand) {
return _mockVmMgr.Migrate((MigrateCommand)cmd, info);
} else if (cmd instanceof StartCommand) {
@@ -173,11 +173,11 @@ public class SimulatorManagerImpl implements SimulatorManager {
} else if (cmd instanceof CheckSshCommand) {
return _mockVmMgr.checkSshCommand((CheckSshCommand)cmd);
} else if (cmd instanceof CheckVirtualMachineCommand) {
- return _mockVmMgr.checkVmState((CheckVirtualMachineCommand)cmd);
+ return _mockVmMgr.checkVmState((CheckVirtualMachineCommand)cmd);
} else if (cmd instanceof SetStaticNatRulesCommand) {
return _mockVmMgr.SetStaticNatRules((SetStaticNatRulesCommand)cmd);
} else if (cmd instanceof SetFirewallRulesCommand) {
- return _mockVmMgr.SetFirewallRules((SetFirewallRulesCommand)cmd);
+ return _mockVmMgr.SetFirewallRules((SetFirewallRulesCommand)cmd);
} else if (cmd instanceof SetPortForwardingRulesCommand) {
return _mockVmMgr.SetPortForwardingRules((SetPortForwardingRulesCommand)cmd);
} else if (cmd instanceof NetworkUsageCommand) {
@@ -193,7 +193,7 @@ public class SimulatorManagerImpl implements SimulatorManager {
} else if (cmd instanceof CleanupNetworkRulesCmd) {
return _mockVmMgr.CleanupNetworkRules((CleanupNetworkRulesCmd)cmd, info);
} else if (cmd instanceof CheckNetworkCommand) {
- return _mockAgentMgr.checkNetworkCommand((CheckNetworkCommand) cmd);
+ return _mockAgentMgr.checkNetworkCommand((CheckNetworkCommand) cmd);
}else if (cmd instanceof StopCommand) {
return _mockVmMgr.stopVM((StopCommand)cmd);
} else if (cmd instanceof RebootCommand) {
@@ -261,12 +261,12 @@ public class SimulatorManagerImpl implements SimulatorManager {
} else if (cmd instanceof BumpUpPriorityCommand) {
return _mockVmMgr.bumpPriority((BumpUpPriorityCommand) cmd);
} else if (cmd instanceof GetDomRVersionCmd) {
- return _mockVmMgr.getDomRVersion((GetDomRVersionCmd) cmd);
+ return _mockVmMgr.getDomRVersion((GetDomRVersionCmd) cmd);
} else if (cmd instanceof ClusterSyncCommand) {
- return new Answer(cmd);
- //return new ClusterSyncAnswer(((ClusterSyncCommand) cmd).getClusterId(), this.getVmStates(hostGuid));
+ return new Answer(cmd);
+ //return new ClusterSyncAnswer(((ClusterSyncCommand) cmd).getClusterId(), this.getVmStates(hostGuid));
} else if (cmd instanceof CopyVolumeCommand) {
- return _mockStorageMgr.CopyVolume((CopyVolumeCommand) cmd);
+ return _mockStorageMgr.CopyVolume((CopyVolumeCommand) cmd);
} else {
return Answer.createUnsupportedCommandAnswer(cmd);
}
@@ -288,19 +288,19 @@ public class SimulatorManagerImpl implements SimulatorManager {
@Override
public Map getVmStates(String hostGuid) {
- return _mockVmMgr.getVmStates(hostGuid);
+ return _mockVmMgr.getVmStates(hostGuid);
}
-
+
@Override
public Map getVms(String hostGuid) {
- return _mockVmMgr.getVms(hostGuid);
+ return _mockVmMgr.getVms(hostGuid);
}
-
+
@Override
public HashMap> syncNetworkGroups(String hostGuid) {
- SimulatorInfo info = new SimulatorInfo();
- info.setHostUuid(hostGuid);
- return _mockVmMgr.syncNetworkGroups(info);
+ SimulatorInfo info = new SimulatorInfo();
+ info.setHostUuid(hostGuid);
+ return _mockVmMgr.syncNetworkGroups(info);
}
@Override
diff --git a/agent-simulator/src/com/cloud/api/commands/ConfigureSimulator.java b/plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java
similarity index 98%
rename from agent-simulator/src/com/cloud/api/commands/ConfigureSimulator.java
rename to plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java
index 4147e3aae1f..60ce82e2c05 100755
--- a/agent-simulator/src/com/cloud/api/commands/ConfigureSimulator.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java
@@ -37,25 +37,25 @@ import com.cloud.utils.component.ComponentLocator;
public class ConfigureSimulator extends BaseCmd {
public static final Logger s_logger = Logger.getLogger(ConfigureSimulator.class.getName());
private static final String s_name = "configuresimulatorresponse";
-
+
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="configure range: in a zone")
private Long zoneId;
-
+
@Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, description="configure range: in a pod")
private Long podId;
-
+
@Parameter(name=ApiConstants.CLUSTER_ID, type=CommandType.LONG, description="configure range: in a cluster")
private Long clusterId;
-
+
@Parameter(name=ApiConstants.HOST_ID, type=CommandType.LONG, description="configure range: in a host")
private Long hostId;
-
+
@Parameter(name=ApiConstants.NAME, type=CommandType.STRING, required=true, description="which command needs to be configured")
private String command;
-
+
@Parameter(name=ApiConstants.VALUE, type=CommandType.STRING, required=true, description="configuration options for this command, which is seperated by ;")
private String values;
-
+
@Override
public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException {
ComponentLocator locator = ComponentLocator.getLocator(ManagementService.Name);
@@ -64,7 +64,7 @@ public class ConfigureSimulator extends BaseCmd {
if (!result) {
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to configure simulator");
}
-
+
SuccessResponse response = new SuccessResponse(getCommandName());
this.setResponseObject(response);
}
diff --git a/agent-simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java b/plugins/hypervisors/simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java
similarity index 100%
rename from agent-simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java
rename to plugins/hypervisors/simulator/src/com/cloud/configuration/SimulatorComponentLibrary.java
diff --git a/agent-simulator/src/com/cloud/resource/AgentResourceBase.java b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java
similarity index 98%
rename from agent-simulator/src/com/cloud/resource/AgentResourceBase.java
rename to plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java
index 6261158ee11..808ca070d4d 100644
--- a/agent-simulator/src/com/cloud/resource/AgentResourceBase.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java
@@ -52,7 +52,7 @@ public class AgentResourceBase implements ServerResource {
protected String _name;
private List _warnings = new LinkedList();
private List _errors = new LinkedList();
-
+
private transient IAgentControl _agentControl;
protected long _instanceId;
@@ -64,36 +64,36 @@ public class AgentResourceBase implements ServerResource {
protected MockHost agentHost = null;
protected boolean stopped = false;
protected String hostGuid = null;
-
+
public AgentResourceBase(long instanceId, AgentType agentType, SimulatorManager simMgr, String hostGuid) {
- _instanceId = instanceId;
-
+ _instanceId = instanceId;
+
if(s_logger.isDebugEnabled()) {
s_logger.info("New Routing host instantiated with guid:" + hostGuid);
}
-
+
if (agentType == AgentType.Routing) {
_type = Host.Type.Routing;
} else {
_type = Host.Type.Storage;
}
-
+
this.hostGuid = hostGuid;
}
-
+
protected MockVmManager getVmMgr() {
return _simMgr.getVmMgr();
}
-
+
protected MockStorageManager getStorageMgr() {
return _simMgr.getStorageMgr();
}
-
+
protected MockAgentManager getAgentMgr() {
return _simMgr.getAgentMgr();
}
-
+
protected long getInstanceId() {
return _instanceId;
}
@@ -102,7 +102,7 @@ public class AgentResourceBase implements ServerResource {
if(s_logger.isDebugEnabled()) {
s_logger.debug("Deserializing simulated agent on reconnect");
}
-
+
}
@Override
@@ -113,18 +113,18 @@ public class AgentResourceBase implements ServerResource {
public void setName(String name) {
_name = name;
}
-
+
@Override
public boolean configure(String name, Map params)
throws ConfigurationException {
hostGuid = (String)params.get("guid");
_locator = ComponentLocator.getLocator("management-server");
_simMgr = _locator.getManager(SimulatorManager.class);
-
+
agentHost = getAgentMgr().getHost(hostGuid);
return true;
}
-
+
private void reconnect(MockHost host) {
if(s_logger.isDebugEnabled()) {
@@ -244,7 +244,7 @@ public class AgentResourceBase implements ServerResource {
}
return file.getAbsolutePath();
}
-
+
@Override
public Answer executeRequest(Command cmd) {
@@ -264,20 +264,20 @@ public class AgentResourceBase implements ServerResource {
public void setType(Host.Type _type) {
this._type = _type;
}
-
+
@Override
public StartupCommand[] initialize() {
return null;
}
-
+
public SimulatorManager getSimulatorManager() {
return _simMgr;
- }
-
- public void setSimulatorManager(SimulatorManager simMgr) {
- _simMgr = simMgr;
}
-
+
+ public void setSimulatorManager(SimulatorManager simMgr) {
+ _simMgr = simMgr;
+ }
+
public boolean isStopped() {
return this.stopped;
}
diff --git a/agent-simulator/src/com/cloud/resource/AgentRoutingResource.java b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentRoutingResource.java
similarity index 96%
rename from agent-simulator/src/com/cloud/resource/AgentRoutingResource.java
rename to plugins/hypervisors/simulator/src/com/cloud/resource/AgentRoutingResource.java
index f10713d126c..f35e4325b38 100644
--- a/agent-simulator/src/com/cloud/resource/AgentRoutingResource.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentRoutingResource.java
@@ -91,7 +91,7 @@ public class AgentRoutingResource extends AgentStorageResource {
} else if (cmd instanceof ReadyCommand) {
return new ReadyAnswer((ReadyCommand)cmd);
} else if (cmd instanceof ShutdownCommand) {
- return execute((ShutdownCommand)cmd);
+ return execute((ShutdownCommand)cmd);
} else {
return _simMgr.simulate(cmd, hostGuid);
}
@@ -99,7 +99,7 @@ public class AgentRoutingResource extends AgentStorageResource {
return new Answer(cmd, false, e.getMessage());
}
}
-
+
@Override
public Type getType() {
return Host.Type.Routing;
@@ -111,10 +111,10 @@ public class AgentRoutingResource extends AgentStorageResource {
return null;
}
synchronized (_vms) {
- if (_vms.size() == 0) {
- //load vms state from database
- _vms.putAll(_simMgr.getVmStates(hostGuid));
- }
+ if (_vms.size() == 0) {
+ //load vms state from database
+ _vms.putAll(_simMgr.getVmStates(hostGuid));
+ }
}
final HashMap newStates = sync();
HashMap> nwGrpStates = _simMgr.syncNetworkGroups(hostGuid);
@@ -131,18 +131,18 @@ public class AgentRoutingResource extends AgentStorageResource {
totalCpu = agentHost.getCpuCount() * agentHost.getCpuSpeed();
totalMem = agentHost.getMemorySize();
for (Map.Entry entry : vmsMaps.entrySet()) {
- MockVMVO vm = entry.getValue();
- usedCpu += vm.getCpu();
- usedMem += vm.getMemory();
- _runningVms.put(entry.getKey(), new Pair(Long.valueOf(vm.getCpu()), vm.getMemory()));
+ MockVMVO vm = entry.getValue();
+ usedCpu += vm.getCpu();
+ usedMem += vm.getMemory();
+ _runningVms.put(entry.getKey(), new Pair(Long.valueOf(vm.getCpu()), vm.getMemory()));
}
-
+
List