diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index 4281036d9456..6c94607782b7 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -125,6 +125,7 @@
import org.libvirt.DomainInfo.DomainState;
import org.libvirt.DomainInterfaceStats;
import org.libvirt.DomainSnapshot;
+import org.libvirt.Error;
import org.libvirt.LibvirtException;
import org.libvirt.MemoryStatistic;
import org.libvirt.Network;
@@ -610,8 +611,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
public static final String CGROUP_V2 = "cgroup2fs";
- public static final String AGENT_IS_NOT_CONNECTED = "QEMU guest agent is not connected";
-
+ public static final org.libvirt.Error.ErrorNumber AGENT_UNRESPONSIVE_ERROR = Error.ErrorNumber.VIR_ERR_AGENT_UNRESPONSIVE;
/**
* Virsh command to merge (blockcommit) snapshot into the base file.
* 1st parameter: VM's name;
@@ -7185,7 +7185,7 @@ public Map createDiskOnlyVmSnapshotForRunningVm(List createDiskOnlyVmSnapshotForRunningVm(List createDiskOnlyVMSnapshotOfStoppedVm(List> volumeTosAndNewPaths, String vmName) {
logger.info("Creating volume deltas for stopped VM [{}].", vmName);
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtValidateKbossVmCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtValidateKbossVmCommandWrapper.java
index eec68cd464e3..f27e2b9ae4bf 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtValidateKbossVmCommandWrapper.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtValidateKbossVmCommandWrapper.java
@@ -92,7 +92,7 @@ private boolean waitForBoot(ValidateKbossVmCommand cmd, Domain vm) throws Libvir
return true;
}
} catch (LibvirtException ex) {
- if (!ex.getMessage().contains(LibvirtComputingResource.AGENT_IS_NOT_CONNECTED)) {
+ if (!LibvirtComputingResource.isGuestAgentUnresponsive(ex)) {
logger.error("Got an unexpected Libvirt Exception, giving up on validating VM [{}].", vm.getName(), ex);
throw ex;
}