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);

Reply via email to