You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by an...@apache.org on 2014/03/29 00:35:17 UTC
[10/27] git commit: updated refs/heads/master to d4d5cab
CLOUDSTACK-5329: fix NPE, in case of zone wide primary storage
Conflicts:
api/src/com/cloud/storage/StoragePool.java
server/src/com/cloud/vm/UserVmManagerImpl.java
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6b799451
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6b799451
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6b799451
Branch: refs/heads/master
Commit: 6b7994512d77f235296fa05baa0ba4a82897165a
Parents: a1762a6
Author: Edison Su <su...@gmail.com>
Authored: Thu Mar 27 15:53:27 2014 -0700
Committer: Anthony Xu <an...@citrix.com>
Committed: Fri Mar 28 16:22:16 2014 -0700
----------------------------------------------------------------------
api/src/com/cloud/storage/StoragePool.java | 14 +++++++++-----
server/src/com/cloud/vm/UserVmManagerImpl.java | 8 +++++++-
2 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6b799451/api/src/com/cloud/storage/StoragePool.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/storage/StoragePool.java b/api/src/com/cloud/storage/StoragePool.java
index 6ede960..7d54162 100644
--- a/api/src/com/cloud/storage/StoragePool.java
+++ b/api/src/com/cloud/storage/StoragePool.java
@@ -18,6 +18,7 @@ package com.cloud.storage;
import java.util.Date;
+import com.cloud.hypervisor.Hypervisor;
import org.apache.cloudstack.api.Identity;
import org.apache.cloudstack.api.InternalIdentity;
@@ -98,10 +99,13 @@ public interface StoragePool extends Identity, InternalIdentity {
Long getPodId();
- /**
- * @return
- */
- String getStorageProviderName();
+ /**
+ * @return
+ */
+ String getStorageProviderName();
+
+ boolean isInMaintenance();
+
+ Hypervisor.HypervisorType getHypervisor();
- boolean isInMaintenance();
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6b799451/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index a1dd6c9..741b21c 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -35,6 +35,7 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+
import org.apache.commons.codec.binary.Base64;
import org.apache.log4j.Logger;
@@ -3731,7 +3732,12 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
throw new InvalidParameterValueException("Data disks attached to the vm, can not migrate. Need to dettach data disks at first");
}
- HypervisorType destHypervisorType = _clusterDao.findById(destPool.getClusterId()).getHypervisorType();
+ HypervisorType destHypervisorType = destPool.getHypervisor();
+ if (destHypervisorType == null) {
+ destHypervisorType = _clusterDao.findById(
+ destPool.getClusterId()).getHypervisorType();
+ }
+
if (vm.getHypervisorType() != destHypervisorType) {
throw new InvalidParameterValueException("hypervisor is not compatible: dest: " + destHypervisorType.toString() + ", vm: " + vm.getHypervisorType().toString());
}