This is an automated email from the ASF dual-hosted git repository.
nvazquez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push:
new f96f6fa Improve messages on adding hosts errors (#5988)
f96f6fa is described below
commit f96f6faf2449e521014703ff3f84955630086328
Author: Nicolas Vazquez <[email protected]>
AuthorDate: Thu Feb 17 21:51:30 2022 -0300
Improve messages on adding hosts errors (#5988)
* Improve messages on adding hosts errors
* Remove unreachable code
* Improve error logs
* Apply suggestions
* Improve error msg
---
.../kvm/discoverer/LibvirtServerDiscoverer.java | 20 +++++++++++++-------
.../java/com/cloud/resource/ResourceManagerImpl.java | 18 ++++++++++++++----
2 files changed, 27 insertions(+), 11 deletions(-)
diff --git
a/server/src/main/java/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
b/server/src/main/java/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
index 818c14f..0b18ea9 100644
---
a/server/src/main/java/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
+++
b/server/src/main/java/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
@@ -273,8 +273,11 @@ public abstract class LibvirtServerDiscoverer extends
DiscovererBase implements
}
if (!SSHCmdHelper.sshExecuteCmd(sshConnection, "ls /dev/kvm")) {
- s_logger.debug("It's not a KVM enabled machine");
- return null;
+ String errorMsg = "This machine does not have KVM enabled.";
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug(errorMsg);
+ }
+ throw new DiscoveredWithErrorException(errorMsg);
}
if (SSHCmdHelper.sshExecuteCmd(sshConnection, "rpm -qa | grep -i
ovmf", 3)) {
@@ -335,9 +338,10 @@ public abstract class LibvirtServerDiscoverer extends
DiscovererBase implements
setupAgentCommand = "sudo cloudstack-setup-agent ";
}
if (!SSHCmdHelper.sshExecuteCmd(sshConnection, setupAgentCommand +
parameters)) {
- s_logger.info("cloudstack agent setup command failed: "
- + setupAgentCommand + parameters);
- return null;
+ String errorMsg = String.format("CloudStack Agent setup
through command [%s] with parameters [%s] failed.",
+ setupAgentCommand, parameters);
+ s_logger.info(errorMsg);
+ throw new DiscoveredWithErrorException(errorMsg);
}
KvmDummyResourceBase kvmResource = new KvmDummyResourceBase();
@@ -373,12 +377,14 @@ public abstract class LibvirtServerDiscoverer extends
DiscovererBase implements
} catch (Exception e) {
String msg = " can't setup agent, due to " + e.toString() + " - "
+ e.getMessage();
s_logger.warn(msg);
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug(msg, e);
+ }
+ throw new DiscoveredWithErrorException(msg, e);
} finally {
if (sshConnection != null)
sshConnection.close();
}
-
- return null;
}
private HostVO waitForHostConnect(long dcId, long podId, long clusterId,
String guid) {
diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java
b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java
index 70d205a..5dadd16 100755
--- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java
+++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java
@@ -807,9 +807,18 @@ public class ResourceManagerImpl extends ManagerBase
implements ResourceManager,
try {
resources = discoverer.find(dcId, podId, clusterId, uri,
username, password, hostTags);
} catch (final DiscoveryException e) {
- throw e;
+ String errorMsg = String.format("Could not add host at [%s]
with zone [%s], pod [%s] and cluster [%s] due to: [%s].",
+ uri, dcId, podId, clusterId, e.getMessage());
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug(errorMsg, e);
+ }
+ throw new DiscoveryException(errorMsg, e);
} catch (final Exception e) {
- s_logger.info("Exception in host discovery process with
discoverer: " + discoverer.getName() + ", skip to another discoverer if there
is any");
+ String err = "Exception in host discovery process with
discoverer: " + discoverer.getName();
+ s_logger.info(err + ", skip to another discoverer if there is
any");
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug(err + ":" + e.getMessage(), e);
+ }
}
processResourceEvent(ResourceListener.EVENT_DISCOVER_AFTER,
resources);
@@ -863,8 +872,9 @@ public class ResourceManagerImpl extends ManagerBase
implements ResourceManager,
s_logger.warn(msg);
throw new DiscoveryException(msg);
}
- s_logger.warn("Unable to find the server resources at " + url);
- throw new DiscoveryException("Unable to add the host");
+ String errorMsg = "Cannot find the server resources at " + url;
+ s_logger.warn(errorMsg);
+ throw new DiscoveryException("Unable to add the host: " + errorMsg);
}
@Override