Skip to content

Commit 3f1cf04

Browse files
committed
Refactor into new method
1 parent b204e5b commit 3f1cf04

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -315,21 +315,7 @@ Use VIR_DOMAIN_XML_SECURE (value = 1) prior to v1.0.0.
315315
if (logger.isDebugEnabled()) {
316316
logger.debug(String.format("Cleaning the disks of VM [%s] in the source pool after VM migration finished.", vmName));
317317
}
318-
DomainState dmState = null;
319-
try {
320-
dmState = destDomain.getInfo().state;
321-
} catch (final LibvirtException e) {
322-
logger.info("Failed to get domain state for VM: " + vmName + " due to: " + e.getMessage());
323-
}
324-
325-
if (dmState == DomainState.VIR_DOMAIN_PAUSED) {
326-
logger.info("Resuming VM " + vmName + " on destination after migration");
327-
try {
328-
destDomain.resume();
329-
} catch (final Exception e) {
330-
logger.error("Failed to resume vm " + vmName + " on destination after migration due to : " + e.getMessage());
331-
}
332-
}
318+
resumeDomainIfPaused(destDomain, vmName);
333319
deleteOrDisconnectDisksOnSourcePool(libvirtComputingResource, migrateDiskInfoList, disks);
334320
libvirtComputingResource.cleanOldSecretsByDiskDef(conn, disks);
335321
}
@@ -394,6 +380,28 @@ Use VIR_DOMAIN_XML_SECURE (value = 1) prior to v1.0.0.
394380
return new MigrateAnswer(command, result == null, result, null);
395381
}
396382

383+
private DomainState getDestDomainState(Domain destDomain, String vmName) {
384+
DomainState dmState = null;
385+
try {
386+
dmState = destDomain.getInfo().state;
387+
} catch (final LibvirtException e) {
388+
logger.info("Failed to get domain state for VM: " + vmName + " due to: " + e.getMessage());
389+
}
390+
return dmState;
391+
}
392+
393+
private void resumeDomainIfPaused(Domain destDomain, String vmName) {
394+
DomainState dmState = getDestDomainState(destDomain, vmName);
395+
if (dmState == DomainState.VIR_DOMAIN_PAUSED) {
396+
logger.info("Resuming VM " + vmName + " on destination after migration");
397+
try {
398+
destDomain.resume();
399+
} catch (final Exception e) {
400+
logger.error("Failed to resume vm " + vmName + " on destination after migration due to : " + e.getMessage());
401+
}
402+
}
403+
}
404+
397405
/**
398406
* Gets the disk labels (vda, vdb...) of the disks mapped for migration on mapMigrateStorage.
399407
* @param diskDefinitions list of all the disksDefinitions of the VM.

0 commit comments

Comments
 (0)