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

Reply via email to