From 680d4202de77803633291de8c6988bb4e664c2cc Mon Sep 17 00:00:00 2001 From: Anthony Xu Date: Wed, 30 Jul 2014 10:58:33 -0700 Subject: [PATCH] CLOUDSTACK-7204: fixed build for simulator --- .../agent/manager/MockVmManagerImpl.java | 5 ++- .../com/cloud/ha/SimulatorInvestigator.java | 4 +- .../cloud/resource/AgentRoutingResource.java | 42 +++++++++---------- 3 files changed, 24 insertions(+), 27 deletions(-) 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 ab583e2daf5..7650afaf2bf 100644 --- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java +++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java @@ -91,6 +91,7 @@ import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VirtualMachine.State; +import com.cloud.vm.VirtualMachine.PowerState; @Component @Local(value = {MockVmManager.class}) @@ -354,7 +355,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } txn.commit(); - return new CheckVirtualMachineAnswer(cmd, vm.getState(), vm.getVncPort()); + return new CheckVirtualMachineAnswer(cmd, vm.getState()==State.Running? PowerState.PowerOn: PowerState.PowerOff, vm.getVncPort()); } catch (Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to fetch vm state " + cmd.getVmName(), ex); @@ -504,7 +505,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { 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, cmd.getVolumeTOs(), vmVo.getState()); + return new RevertToVMSnapshotAnswer(cmd, cmd.getVolumeTOs(), vmVo.getState()== State.Running? PowerState.PowerOn: PowerState.PowerOff); } @Override diff --git a/plugins/hypervisors/simulator/src/com/cloud/ha/SimulatorInvestigator.java b/plugins/hypervisors/simulator/src/com/cloud/ha/SimulatorInvestigator.java index 448d7ede109..7191ae3dab1 100644 --- a/plugins/hypervisors/simulator/src/com/cloud/ha/SimulatorInvestigator.java +++ b/plugins/hypervisors/simulator/src/com/cloud/ha/SimulatorInvestigator.java @@ -39,7 +39,7 @@ import com.cloud.resource.ResourceManager; import com.cloud.simulator.dao.MockConfigurationDao; import com.cloud.utils.component.AdapterBase; import com.cloud.vm.VirtualMachine; -import com.cloud.vm.VirtualMachine.State; +import com.cloud.vm.VirtualMachine.PowerState; @Local(value=Investigator.class) public class SimulatorInvestigator extends AdapterBase implements Investigator { @@ -90,7 +90,7 @@ public class SimulatorInvestigator extends AdapterBase implements Investigator { } CheckVirtualMachineAnswer cvmAnswer = (CheckVirtualMachineAnswer)answer; s_logger.debug("Agent responded with state " + cvmAnswer.getState().toString()); - return cvmAnswer.getState() == State.Running; + return cvmAnswer.getState() == PowerState.PowerOn; } catch (AgentUnavailableException e) { s_logger.debug("Unable to reach the agent for " + vm.toString() + ": " + e.getMessage()); return null; diff --git a/plugins/hypervisors/simulator/src/com/cloud/resource/AgentRoutingResource.java b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentRoutingResource.java index d99c742ab6b..2fe938f0b41 100644 --- a/plugins/hypervisors/simulator/src/com/cloud/resource/AgentRoutingResource.java +++ b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentRoutingResource.java @@ -227,18 +227,16 @@ public class AgentRoutingResource extends AgentStorageResource { if (this.totalCpu < (vmSpec.getCpus() * vmSpec.getMaxSpeed() + this.usedCpu) || this.totalMem < (vmSpec.getMaxRam() + this.usedMem)) { return new StartAnswer(cmd, "Not enough resource to start the vm"); } - try { - Answer result = _simMgr.simulate(cmd, hostGuid); - if (!result.getResult()) { - return new StartAnswer(cmd, result.getDetails()); - } - - this.usedCpu += vmSpec.getCpus() * vmSpec.getMaxSpeed(); - this.usedMem += vmSpec.getMaxRam(); - _runningVms.put(vmName, new Pair(Long.valueOf(vmSpec.getCpus() * vmSpec.getMaxSpeed()), vmSpec.getMaxRam())); - + Answer result = _simMgr.simulate(cmd, hostGuid); + if (!result.getResult()) { + return new StartAnswer(cmd, result.getDetails()); } + this.usedCpu += vmSpec.getCpus() * vmSpec.getMaxSpeed(); + this.usedMem += vmSpec.getMaxRam(); + _runningVms.put(vmName, new Pair(Long.valueOf(vmSpec.getCpus() * vmSpec.getMaxSpeed()), vmSpec.getMaxRam())); + + return new StartAnswer(cmd); } @@ -248,22 +246,20 @@ public class AgentRoutingResource extends AgentStorageResource { StopAnswer answer = null; String vmName = cmd.getVmName(); - try { - Answer result = _simMgr.simulate(cmd, hostGuid); - - if (!result.getResult()) { - return new StopAnswer(cmd, result.getDetails(), false); - } - - answer = new StopAnswer(cmd, null, true); - Pair data = _runningVms.get(vmName); - if (data != null) { - this.usedCpu -= data.first(); - this.usedMem -= data.second(); - } + Answer result = _simMgr.simulate(cmd, hostGuid); + if (!result.getResult()) { + return new StopAnswer(cmd, result.getDetails(), false); } + answer = new StopAnswer(cmd, null, true); + Pair data = _runningVms.get(vmName); + if (data != null) { + this.usedCpu -= data.first(); + this.usedMem -= data.second(); + } + + return answer; }