Implementing Migration and Maintenance mode for the simulator
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/87bcd8e1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/87bcd8e1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/87bcd8e1 Branch: refs/heads/vpc Commit: 87bcd8e1165b61b6ccc598d1745cfdf4085e3194 Parents: befd6dd Author: Prasanna Santhanam <[email protected]> Authored: Fri Aug 3 15:55:01 2012 +0530 Committer: Prasanna Santhanam <[email protected]> Committed: Fri Aug 3 15:55:01 2012 +0530 ---------------------------------------------------------------------- .../com/cloud/agent/manager/MockAgentManager.java | 4 ++-- .../cloud/agent/manager/MockAgentManagerImpl.java | 11 +++++++---- .../src/com/cloud/agent/manager/MockVmManager.java | 2 +- .../com/cloud/agent/manager/MockVmManagerImpl.java | 4 ++-- .../com/cloud/resource/AgentRoutingResource.java | 5 ++--- 5 files changed, 14 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/87bcd8e1/agent-simulator/src/com/cloud/agent/manager/MockAgentManager.java ---------------------------------------------------------------------- diff --git a/agent-simulator/src/com/cloud/agent/manager/MockAgentManager.java b/agent-simulator/src/com/cloud/agent/manager/MockAgentManager.java index e01b016..9932173 100644 --- a/agent-simulator/src/com/cloud/agent/manager/MockAgentManager.java +++ b/agent-simulator/src/com/cloud/agent/manager/MockAgentManager.java @@ -50,11 +50,11 @@ public interface MockAgentManager extends Manager { Answer checkHealth(CheckHealthCommand cmd); Answer pingTest(PingTestCommand cmd); - Answer PrepareForMigration(PrepareForMigrationCommand cmd); + Answer prepareForMigrate(PrepareForMigrationCommand cmd); MockHost getHost(String guid); - Answer MaintainCommand(MaintainCommand cmd); + Answer maintain(MaintainCommand cmd); Answer checkNetworkCommand(CheckNetworkCommand cmd); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/87bcd8e1/agent-simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java ---------------------------------------------------------------------- diff --git a/agent-simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java b/agent-simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java index 356c257..0dd8f05 100755 --- a/agent-simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java +++ b/agent-simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java @@ -45,10 +45,9 @@ import com.cloud.agent.api.MaintainAnswer; import com.cloud.agent.api.PingTestCommand; import com.cloud.agent.api.PrepareForMigrationAnswer; import com.cloud.agent.api.PrepareForMigrationCommand; -import com.cloud.agent.api.StartupCommand; +import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.dc.dao.HostPodDao; import com.cloud.host.Host; -import com.cloud.host.Host.Type; import com.cloud.resource.AgentResourceBase; import com.cloud.resource.AgentRoutingResource; import com.cloud.resource.AgentStorageResource; @@ -340,7 +339,11 @@ public class MockAgentManagerImpl implements MockAgentManager { @Override - public PrepareForMigrationAnswer PrepareForMigration(PrepareForMigrationCommand cmd) { + public PrepareForMigrationAnswer prepareForMigrate(PrepareForMigrationCommand cmd) { + VirtualMachineTO vm = cmd.getVirtualMachine(); + if (s_logger.isDebugEnabled()) { + s_logger.debug("Preparing host for migrating " + vm); + } return new PrepareForMigrationAnswer(cmd); } @@ -364,7 +367,7 @@ public class MockAgentManagerImpl implements MockAgentManager { @Override - public MaintainAnswer MaintainCommand(com.cloud.agent.api.MaintainCommand cmd) { + public MaintainAnswer maintain(com.cloud.agent.api.MaintainCommand cmd) { return new MaintainAnswer(cmd); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/87bcd8e1/agent-simulator/src/com/cloud/agent/manager/MockVmManager.java ---------------------------------------------------------------------- diff --git a/agent-simulator/src/com/cloud/agent/manager/MockVmManager.java b/agent-simulator/src/com/cloud/agent/manager/MockVmManager.java index 179544d..cd8f5fa 100644 --- a/agent-simulator/src/com/cloud/agent/manager/MockVmManager.java +++ b/agent-simulator/src/com/cloud/agent/manager/MockVmManager.java @@ -55,7 +55,7 @@ public interface MockVmManager extends Manager { public Answer stopVM(StopCommand cmd); public Answer rebootVM(RebootCommand cmd); - public Answer checkVmState(CheckVirtualMachineCommand cmd, String hostGuid); + public Answer checkVmState(CheckVirtualMachineCommand cmd); public Map<String, State> getVmStates(String hostGuid); public Answer getVncPort(GetVncPortCommand cmd); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/87bcd8e1/agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java index 5e66464..9f420be 100644 --- a/agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java +++ b/agent-simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java @@ -243,8 +243,8 @@ public class MockVmManagerImpl implements MockVmManager { } @Override - public CheckVirtualMachineAnswer checkVmState(CheckVirtualMachineCommand cmd, String hostGuid) { - MockVMVO vm = _mockVmDao.findByVmNameAndHost(cmd.getVmName(), hostGuid); + public CheckVirtualMachineAnswer checkVmState(CheckVirtualMachineCommand cmd) { + MockVMVO vm = _mockVmDao.findByVmName(cmd.getVmName()); if (vm == null) { return new CheckVirtualMachineAnswer(cmd, "can't find vm:" + cmd.getVmName()); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/87bcd8e1/agent-simulator/src/com/cloud/resource/AgentRoutingResource.java ---------------------------------------------------------------------- diff --git a/agent-simulator/src/com/cloud/resource/AgentRoutingResource.java b/agent-simulator/src/com/cloud/resource/AgentRoutingResource.java index 291e46a..f10713d 100644 --- a/agent-simulator/src/com/cloud/resource/AgentRoutingResource.java +++ b/agent-simulator/src/com/cloud/resource/AgentRoutingResource.java @@ -33,6 +33,7 @@ import com.cloud.agent.api.CheckVirtualMachineCommand; import com.cloud.agent.api.Command; import com.cloud.agent.api.PingCommand; import com.cloud.agent.api.PingRoutingWithNwGroupsCommand; +import com.cloud.agent.api.PrepareForMigrationAnswer; import com.cloud.agent.api.PrepareForMigrationCommand; import com.cloud.agent.api.ReadyAnswer; import com.cloud.agent.api.ReadyCommand; @@ -85,8 +86,6 @@ public class AgentRoutingResource extends AgentStorageResource { return execute((StartCommand) cmd); } else if (cmd instanceof StopCommand) { return execute((StopCommand) cmd); - } else if (cmd instanceof PrepareForMigrationCommand) { - return execute((PrepareForMigrationCommand) cmd); } else if (cmd instanceof CheckVirtualMachineCommand) { return execute((CheckVirtualMachineCommand) cmd); } else if (cmd instanceof ReadyCommand) { @@ -191,7 +190,7 @@ public class AgentRoutingResource extends AgentStorageResource { String vmName = vmSpec.getName(); if (this.totalCpu < (vmSpec.getCpus() * vmSpec.getSpeed() + this.usedCpu) || this.totalMem < (vmSpec.getMaxRam() + this.usedMem)) { - return new StartAnswer(cmd, "No enough resource to start the vm"); + return new StartAnswer(cmd, "Not enough resource to start the vm"); } State state = State.Stopped; synchronized (_vms) {
