This is an automated email from the ASF dual-hosted git repository.

dahn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/master by this push:
     new 3c8a504  Improve logs on IpmitoolOutOfBandManagementDriver (#4702)
3c8a504 is described below

commit 3c8a5040cf6e24b772e470ec129ba0af0ca92915
Author: Daniel Augusto Veronezi Salvador 
<[email protected]>
AuthorDate: Wed Apr 21 04:35:59 2021 -0300

    Improve logs on IpmitoolOutOfBandManagementDriver (#4702)
    
    Co-authored-by: Daniel Augusto Veronezi Salvador <[email protected]>
---
 .../IpmitoolOutOfBandManagementDriver.java         | 38 +++++++++++++++++-----
 1 file changed, 29 insertions(+), 9 deletions(-)

diff --git 
a/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java
 
b/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java
index bad3cb6..6992ca7 100644
--- 
a/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java
+++ 
b/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java
@@ -37,6 +37,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import org.apache.commons.lang3.StringUtils;
 
 public final class IpmitoolOutOfBandManagementDriver extends AdapterBase 
implements OutOfBandManagementDriver, Configurable {
     public static final Logger LOG = 
Logger.getLogger(IpmitoolOutOfBandManagementDriver.class);
@@ -59,7 +60,7 @@ public final class IpmitoolOutOfBandManagementDriver extends 
AdapterBase impleme
     private String getIpmiUserId(ImmutableMap<OutOfBandManagement.Option, 
String> options, final Duration timeOut) {
         final String username = 
options.get(OutOfBandManagement.Option.USERNAME);
         if (Strings.isNullOrEmpty(username)) {
-            throw new CloudRuntimeException("Empty IPMI user configured, 
cannot proceed to find user's ID");
+            throw new CloudRuntimeException("Empty IPMI user configured, 
cannot proceed to find user's ID.");
         }
 
         final List<String> ipmiToolCommands = 
IPMITOOL.getIpmiToolCommandArgs(IpmiToolPath.value(),
@@ -68,12 +69,17 @@ public final class IpmitoolOutOfBandManagementDriver 
extends AdapterBase impleme
                 options, "user", "list");
         final OutOfBandManagementDriverResponse output = 
IPMITOOL.executeCommands(ipmiToolCommands, timeOut);
         if (!output.isSuccess()) {
-            throw new CloudRuntimeException("Failed to find IPMI user to 
change password, error: " + output.getError());
+            String oneLineCommand = StringUtils.join(ipmiToolCommands, " ");
+            String message = String.format("Failed to find IPMI user [%s] to 
change password. Command [%s], error [%s].", username, oneLineCommand, 
output.getError());
+            LOG.debug(message);
+            throw new CloudRuntimeException(message);
         }
 
         final String userId = IPMITOOL.findIpmiUser(output.getResult(), 
username);
         if (Strings.isNullOrEmpty(userId)) {
-            throw new CloudRuntimeException("No IPMI user ID found for the 
username: " + username);
+            String message = String.format("No IPMI user ID found for the 
username [%s].", username);
+            LOG.debug(message);
+            throw new CloudRuntimeException(message);
         }
         return userId;
     }
@@ -82,13 +88,17 @@ public final class IpmitoolOutOfBandManagementDriver 
extends AdapterBase impleme
         if (!isIpmiToolBinAvailable) {
             initDriver();
             if (!isIpmiToolBinAvailable) {
-                return new OutOfBandManagementDriverResponse(null, "Aborting 
operation due to ipmitool binary not available for execution", false);
+                String message = "Aborting operation due to ipmitool binary 
not available for execution.";
+                LOG.debug(message);
+                return new OutOfBandManagementDriverResponse(null, message, 
false);
             }
         }
 
         OutOfBandManagementDriverResponse response = new 
OutOfBandManagementDriverResponse(null, "Unsupported Command", false);
         if (!isDriverEnabled) {
-            response.setError("Driver not enabled or shutdown");
+            String message = "Driver not enabled or shutdown.";
+            LOG.debug(message);
+            response.setError(message);
             return response;
         }
         if (cmd instanceof OutOfBandManagementDriverPowerCommand) {
@@ -98,6 +108,8 @@ public final class IpmitoolOutOfBandManagementDriver extends 
AdapterBase impleme
         }
 
         if (response != null && !response.isSuccess() && 
response.getError().contains("RAKP 2 HMAC is invalid")) {
+            String message = String.format("Setting authFailure as 'true' due 
to [%s].", response.getError());
+            LOG.debug(message);
             response.setAuthFailure(true);
         }
         return response;
@@ -111,8 +123,16 @@ public final class IpmitoolOutOfBandManagementDriver 
extends AdapterBase impleme
 
         final OutOfBandManagementDriverResponse response = 
IPMITOOL.executeCommands(ipmiToolCommands, cmd.getTimeout());
 
-        if (response.isSuccess() && 
cmd.getPowerOperation().equals(OutOfBandManagement.PowerOperation.STATUS)) {
-            
response.setPowerState(IPMITOOL.parsePowerState(response.getResult().trim()));
+        String oneLineCommand = StringUtils.join(ipmiToolCommands, " ");
+        String result = response.getResult().trim();
+
+        if (response.isSuccess()) {
+            LOG.debug(String.format("The command [%s] was successful and got 
the result [%s].", oneLineCommand, result));
+            if 
(cmd.getPowerOperation().equals(OutOfBandManagement.PowerOperation.STATUS)) {
+                response.setPowerState(IPMITOOL.parsePowerState(result));
+            }
+        } else {
+            LOG.debug(String.format("The command [%s] failed and got the 
result [%s]. Error: [%s].", oneLineCommand, result, response.getError()));
         }
         return response;
     }
@@ -131,10 +151,10 @@ public final class IpmitoolOutOfBandManagementDriver 
extends AdapterBase impleme
         final OutOfBandManagementDriverResponse output = 
IPMITOOL.executeCommands(Arrays.asList(IpmiToolPath.value(), "-V"));
         if (output.isSuccess() && output.getResult().startsWith("ipmitool 
version")) {
             isIpmiToolBinAvailable = true;
-            LOG.debug("OutOfBandManagementDriver ipmitool initialized: " + 
output.getResult());
+            LOG.debug(String.format("OutOfBandManagementDriver ipmitool 
initialized [%s].", output.getResult()));
         } else {
             isIpmiToolBinAvailable = false;
-            LOG.error("OutOfBandManagementDriver ipmitool failed 
initialization with error: " + output.getError() + "; standard output: " + 
output.getResult());
+            LOG.error(String.format("OutOfBandManagementDriver ipmitool failed 
initialization with error [%s]; standard output [%s].", output.getError(), 
output.getResult()));
         }
     }
 

Reply via email to