From ecf100e4edb34b6b954ec87349139fe24e356690 Mon Sep 17 00:00:00 2001 From: Anthony Xu Date: Mon, 28 Jul 2014 17:36:22 -0700 Subject: [PATCH] fixed build for vmware --- .../manager/VmwareStorageManagerImpl.java | 4 ++-- .../vmware/resource/VmwareResource.java | 20 +++++++++---------- .../resource/VmwareStorageProcessor.java | 4 ++-- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java index c1b907e120e..308a8bf7704 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java @@ -1415,7 +1415,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { String vmName = cmd.getVmName(); Boolean snapshotMemory = cmd.getTarget().getType() == VMSnapshot.Type.DiskAndMemory; List listVolumeTo = cmd.getVolumeTOs(); - VirtualMachine.State vmState = VirtualMachine.State.Running; + VirtualMachine.PowerState vmState = VirtualMachine.PowerState.PowerOn; VirtualMachineMO vmMo = null; VmwareContext context = hostService.getServiceContext(cmd); @@ -1468,7 +1468,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { setVolumeToPathAndSize(listVolumeTo, mapNewDisk, context, hyperHost, cmd.getVmName()); if (!snapshotMemory) { - vmState = VirtualMachine.State.Stopped; + vmState = VirtualMachine.PowerState.PowerOff; } return new RevertToVMSnapshotAnswer(cmd, listVolumeTo, vmState); 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 b87e4ea3785..b076b61aed0 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 @@ -312,7 +312,6 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa protected static ThreadLocal s_serviceContext = new ThreadLocal(); protected String _hostName; - protected HashMap _vms = new HashMap(71); protected List _cmdMBeans = new ArrayList(); protected Gson _gson; @@ -1295,7 +1294,6 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa String vmNameOnVcenter = names.second(); // Thus, vmInternalCSName always holds i-x-y, the cloudstack generated internal VM name. - State state = State.Stopped; VmwareContext context = getServiceContext(); try { VmwareManager mgr = context.getStockObject(VmwareManager.CONTEXT_STOCK_NAME); @@ -1691,8 +1689,6 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa throw new Exception("Failed to start VM. vmName: " + vmInternalCSName + " with hostname " + vmNameOnVcenter); } - state = State.Running; - StartAnswer startAnswer = new StartAnswer(cmd); startAnswer.setIqnToPath(iqnToPath); @@ -2544,7 +2540,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa HashMap vmStatsMap = null; try { - HashMap vmPowerStates = getVmStates() + HashMap vmPowerStates = getVmStates(); // getVmNames should return all i-x-y values. List requestedVmNames = cmd.getVmNames(); @@ -2732,7 +2728,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa } final String vmName = cmd.getVmName(); - PowerState powerState = PowerState.Unknown; + PowerState powerState = PowerState.PowerUnknown; Integer vncPort = null; VmwareContext context = getServiceContext(); @@ -2806,10 +2802,6 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa String msg = "Failed to prepare secondary storage on host, secondary store url: " + secStoreUrl; throw new Exception(msg); } - - synchronized (_vms) { - _vms.put(vm.getName(), State.Migrating); - } return new PrepareForMigrationAnswer(cmd); } catch (Throwable e) { if (e instanceof RemoteException) { @@ -4332,7 +4324,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa // the internal CS name, but the custom field CLOUD_VM_INTERNAL_NAME always stores the internal CS name. ObjectContent[] ocs = hyperHost.getVmPropertiesOnHyperHost(new String[] {"name", "runtime.powerState", "config.template", instanceNameCustomField}); - HashMap newStates = new HashMap(); + HashMap newStates = new HashMap(); if (ocs != null && ocs.length > 0) { for (ObjectContent oc : ocs) { List objProps = oc.getPropSet(); @@ -4592,6 +4584,12 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa return connect(vmname, ipAddress, 3922); } + public static PowerState getVmState(VirtualMachineMO vmMo) throws Exception { + VirtualMachineRuntimeInfo runtimeInfo = vmMo.getRuntimeInfo(); + return convertPowerState(runtimeInfo.getPowerState()); + } + + private static PowerState convertPowerState(VirtualMachinePowerState powerState) { return s_powerStatesTable.get(powerState); } diff --git a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java index 5b4942c10c3..730ea1e5445 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java +++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java @@ -99,7 +99,7 @@ import com.cloud.utils.Pair; import com.cloud.utils.Ternary; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.Script; -import com.cloud.vm.VirtualMachine.State; +import com.cloud.vm.VirtualMachine.PowerState; public class VmwareStorageProcessor implements StorageProcessor { private static final Logger s_logger = Logger.getLogger(VmwareStorageProcessor.class); @@ -1611,7 +1611,7 @@ public class VmwareStorageProcessor implements StorageProcessor { List networks = vmMo.getNetworksWithDetails(); // tear down all devices first before we destroy the VM to avoid accidently delete disk backing files - if (VmwareResource.getVmState(vmMo) != State.Stopped) { + if (VmwareResource.getVmState(vmMo) != PowerState.PowerOff) { vmMo.safePowerOff(_shutdownWaitMs); }