You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/10/07 20:30:29 UTC

[04/27] git commit: updated refs/heads/ui-restyle to 205f22b

CLOUDSTACK-4813: add function to get ExitValue when run bash commands
(cherry picked from commit b4397acfccd651bc67bb842097def5ded995c125)


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3a999e70
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3a999e70
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3a999e70

Branch: refs/heads/ui-restyle
Commit: 3a999e70af73281a7b682f5c408a036645cd79f6
Parents: 5ed493c
Author: Wei Zhou <w....@leaseweb.com>
Authored: Fri Oct 4 11:05:41 2013 +0200
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Fri Oct 4 11:06:16 2013 +0200

----------------------------------------------------------------------
 utils/src/com/cloud/utils/script/Script.java | 28 ++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3a999e70/utils/src/com/cloud/utils/script/Script.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/script/Script.java b/utils/src/com/cloud/utils/script/Script.java
index 04ad7c4..b84ff2f 100755
--- a/utils/src/com/cloud/utils/script/Script.java
+++ b/utils/src/com/cloud/utils/script/Script.java
@@ -201,8 +201,8 @@ public class Script implements Callable<String> {
                         if (interpreter != null) {
                             return interpreter.drain() ? task.getResult() : interpreter.interpret(ir);
                         } else {
-                            // null return is ok apparently
-                            return (_process.exitValue() == 0) ? "Ok" : "Failed, exit code " + _process.exitValue();
+                            // null return exitValue apparently
+                            return String.valueOf(_process.exitValue());
                         }
                     } else {
                         break;
@@ -245,7 +245,7 @@ public class Script implements Callable<String> {
                 error = interpreter.processError(reader);
             }
             else {
-                error = "Non zero exit code : " + _process.exitValue();
+                error = String.valueOf(_process.exitValue());
             }
             
             if (_logger.isDebugEnabled()) {
@@ -482,4 +482,26 @@ public class Script implements Callable<String> {
             return result.trim();
     }
 
+    public static int runSimpleBashScriptForExitValue(String command) {
+        return runSimpleBashScriptForExitValue(command, 0);
+    }
+
+    public static int runSimpleBashScriptForExitValue(String command, int timeout) {
+
+        Script s = new Script("/bin/bash", timeout);
+        s.add("-c");
+        s.add(command);
+
+        String result = s.execute(null);
+        if (result == null || result.trim().isEmpty())
+            return -1;
+        else {
+            try {
+                return Integer.valueOf(result.trim());
+            } catch (NumberFormatException e) {
+                return -1;
+            }
+        }
+    }
+
 }