cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From likit...@apache.org
Subject git commit: updated refs/heads/master to bc677e2
Date Mon, 06 Jan 2014 09:21:23 GMT
Updated Branches:
  refs/heads/master bb7fc3c21 -> bc677e2a9


CLOUDSTACK-5782. [VMware] Snapshot creation on a detached volume failes with NPE.
For a detached volume, don't try to find the associated VM on the hypervisor/peer hypervisor
host.
By default create a worker VM to perform snapshot operations.

Conflicts:

	plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bc677e2a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bc677e2a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bc677e2a

Branch: refs/heads/master
Commit: bc677e2a999f7c44b3cb3353fb0a63d02eba3e7f
Parents: bb7fc3c
Author: Likitha Shetty <likitha.shetty@citrix.com>
Authored: Mon Jan 6 14:19:31 2014 +0530
Committer: Likitha Shetty <likitha.shetty@citrix.com>
Committed: Mon Jan 6 14:34:15 2014 +0530

----------------------------------------------------------------------
 .../resource/VmwareStorageProcessor.java        | 40 +++++++++-----------
 1 file changed, 17 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc677e2a/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 a6d065f..70c8c88 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java
@@ -1000,32 +1000,26 @@ public class VmwareStorageProcessor implements StorageProcessor {
             CopyCmdAnswer answer = null;
 
             try {
-                vmMo = hyperHost.findVmOnHyperHost(vmName);
-                if (vmMo == null) {
-                    if (s_logger.isDebugEnabled()) {
-                        s_logger.debug("Unable to find owner VM for BackupSnapshotCommand
on host " + hyperHost.getHyperHostName() + ", will try within datacenter");
-                    }
-
-                    vmMo = hyperHost.findVmOnPeerHyperHost(vmName);
+                if(vmName != null) {
+                    vmMo = hyperHost.findVmOnHyperHost(vmName);
                     if (vmMo == null) {
-                        dsMo = new DatastoreMO(hyperHost.getContext(), morDs);
-
-                        workerVMName = hostService.getWorkerName(context, cmd, 0);
-
-                        vmMo = HypervisorHostHelper.createWorkerVM(hyperHost, dsMo, workerVMName);
-
-                        if (vmMo == null) {
-                            throw new Exception("Failed to find the newly create or relocated
VM. vmName: " + workerVMName);
+                        if(s_logger.isDebugEnabled()) {
+                            s_logger.debug("Unable to find owner VM for BackupSnapshotCommand
on host " + hyperHost.getHyperHostName() + ", will try within datacenter");
                         }
-                        workerVm = vmMo;
-
-                        // attach volume to worker VM
-                        String datastoreVolumePath = dsMo.getDatastorePath(volumePath + ".vmdk");
-                        vmMo.attachDisk(new String[] {datastoreVolumePath}, morDs);
-                    } else {
-                        s_logger.info("Using owner VM " + vmName + " for snapshot operation");
-                        hasOwnerVm = true;
+                        vmMo = hyperHost.findVmOnPeerHyperHost(vmName);
+                    }
+                }
+                if(vmMo == null) {
+                    dsMo = new DatastoreMO(hyperHost.getContext(), morDs);
+                    workerVMName = hostService.getWorkerName(context, cmd, 0);
+                    vmMo = HypervisorHostHelper.createWorkerVM(hyperHost, dsMo, workerVMName);
+                    if (vmMo == null) {
+                        throw new Exception("Failed to find the newly create or relocated
VM. vmName: " + workerVMName);
                     }
+                    workerVm = vmMo;
+                    // attach volume to worker VM
+                    String datastoreVolumePath = dsMo.getDatastorePath(volumePath + ".vmdk");
+                    vmMo.attachDisk(new String[] { datastoreVolumePath }, morDs);
                 } else {
                     s_logger.info("Using owner VM " + vmName + " for snapshot operation");
                     hasOwnerVm = true;


Mime
View raw message