[
https://issues.apache.org/jira/browse/CLOUDSTACK-8829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15203823#comment-15203823
]
ASF GitHub Bot commented on CLOUDSTACK-8829:
--------------------------------------------
Github user maneesha-p commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/797#discussion_r56786342
--- Diff:
engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java ---
@@ -1776,19 +1773,26 @@ private void orchestrateStorageMigration(final
String vmUuid, final StoragePool
// If VM was cold migrated between clusters belonging to
two different VMware DCs,
// unregister the VM from the source host and cleanup the
associated VM files.
if (vm.getHypervisorType().equals(HypervisorType.VMware)) {
+ Long srcClusterId = null;
+ Long srcHostId = vm.getHostId() != null ?
vm.getHostId() : vm.getLastHostId();
+ if (srcHostId != null) {
+ HostVO srcHost = _hostDao.findById(srcHostId);
+ srcClusterId = srcHost.getClusterId();
+ }
+
final Long destClusterId = destPool.getClusterId();
if (srcClusterId != null && destClusterId != null && !
srcClusterId.equals(destClusterId)) {
final String srcDcName =
_clusterDetailsDao.getVmwareDcName(srcClusterId);
final String destDcName =
_clusterDetailsDao.getVmwareDcName(destClusterId);
if (srcDcName != null && destDcName != null &&
!srcDcName.equals(destDcName)) {
s_logger.debug("Since VM's storage was
successfully migrated across VMware Datacenters, unregistering VM: " +
vm.getInstanceName() +
- " from source host: " +
srcHost.getId());
+ " from source host: " + srcHostId);
final UnregisterVMCommand uvc = new
UnregisterVMCommand(vm.getInstanceName());
uvc.setCleanupVmFiles(true);
try {
- _agentMgr.send(srcHost.getId(), uvc);
+ _agentMgr.send(srcHostId, uvc);
} catch (final Exception e) {
- throw new CloudRuntimeException("Failed to
unregister VM: " + vm.getInstanceName() + " from source host: " +
srcHost.getId() +
+ throw new CloudRuntimeException("Failed to
unregister VM: " + vm.getInstanceName() + " from source host: " + srcHostId +
--- End diff --
Thanks for pointing out.Updated.
> Consecutive cold migration fails
> --------------------------------
>
> Key: CLOUDSTACK-8829
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8829
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Reporter: Maneesha
> Assignee: Maneesha
>
> The following scenario is broken:
> 1. Deploy VM and stop it
> 2. Migrate stopped VM to a different primary storage pool
> 3. Again migrate the same VM to another/same storage pool. Fails with NPE.
> java.lang.NullPointerException
> at
> com.cloud.vm.VirtualMachineManagerImpl.orchestrateStorageMigration(VirtualMachineManagerImpl.java:1745)
> at
> com.cloud.vm.VirtualMachineManagerImpl.orchestrateStorageMigration(VirtualMachineManagerImpl.java:4716)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> com.cloud.vm.VmWorkJobHandlerProxy.handleVmWorkJob(VmWorkJobHandlerProxy.java:107)
> at
> com.cloud.vm.VirtualMachineManagerImpl.handleVmWorkJob(VirtualMachineManagerImpl.java:4723)
> at
> com.cloud.vm.VmWorkJobDispatcher.runJob(VmWorkJobDispatcher.java:103)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)