CLOUDSTACK-8128. VM with Datadisk fails to start when storage is put into maintenance. While migrating a volume from primary to seocndary use a worker VM to perform the operations if the VM associated with the volume is stopped.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/5227ae22 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/5227ae22 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/5227ae22 Branch: refs/heads/reporter Commit: 5227ae22755cac55407ba590b23d3d490df120af Parents: ff7997a Author: Likitha Shetty <[email protected]> Authored: Wed Dec 17 17:02:47 2014 +0530 Committer: Likitha Shetty <[email protected]> Committed: Wed Dec 24 16:57:37 2014 +0530 ---------------------------------------------------------------------- .../src/com/cloud/storage/resource/VmwareStorageProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5227ae22/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java ---------------------------------------------------------------------- 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 247c220..e601bb4 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java +++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java @@ -610,7 +610,7 @@ public class VmwareStorageProcessor implements StorageProcessor { } vmMo = hyperHost.findVmOnHyperHost(vmName); - if (vmMo == null) { + if (vmMo == null || VmwareResource.getVmState(vmMo) == PowerState.PowerOff) { // create a dummy worker vm for attaching the volume DatastoreMO dsMo = new DatastoreMO(hyperHost.getContext(), morDs); workerVm = HypervisorHostHelper.createWorkerVM(hyperHost, dsMo, workerVmName);
