Updated Branches: refs/heads/master 452176c0b -> 62a71e055
CLOUDSTACK-3937: Attaching uploaded volume is failing The method getCommandHostDelegation(long hostId, Command cmid) got overidden in VmwareGuru.java as part of commit bfe30cd2e31906365a306d87fe331ccdcec5c33c. Earlier there was no HV specific implementation and copy volume from secondary to primary worked fine. With the Vmware specific change the code was getting hit even in case of XS and other hypervisors and failed with NPE. Now there is a check in the Vmware implementation to check if the HV is of type Vmware. Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/62a71e05 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/62a71e05 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/62a71e05 Branch: refs/heads/master Commit: 62a71e055bbd69a195258f6fc871378070efdcc2 Parents: 452176c Author: Koushik Das <[email protected]> Authored: Tue Jul 30 16:23:02 2013 +0530 Committer: Koushik Das <[email protected]> Committed: Tue Jul 30 16:56:15 2013 +0530 ---------------------------------------------------------------------- .../vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/62a71e05/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java index c1b5dfa..7d0c12a 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java @@ -300,6 +300,11 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru { public Pair<Boolean, Long> getCommandHostDelegation(long hostId, Command cmd) { boolean needDelegation = false; + HostVO host = _hostDao.findById(hostId); + if (host.getHypervisorType() != HypervisorType.VMware) { + return new Pair<Boolean, Long>(Boolean.FALSE, new Long(hostId)); + } + if (cmd instanceof CopyCommand) { CopyCommand cpyCommand = (CopyCommand)cmd; DataTO srcData = cpyCommand.getSrcTO(); @@ -343,9 +348,7 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru { return new Pair<Boolean, Long>(Boolean.FALSE, new Long(hostId)); } - HostVO host = _hostDao.findById(hostId); long dcId = host.getDataCenterId(); - Pair<HostVO, SecondaryStorageVmVO> cmdTarget = _secStorageMgr.assignSecStorageVm(dcId, cmd); if(cmdTarget != null) { // TODO, we need to make sure agent is actually connected too
