You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2014/07/29 21:32:04 UTC

[09/31] git commit: squash code warnings, clarify user-facing messages, fix redeployAll bug

squash code warnings, clarify user-facing messages, fix redeployAll bug


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b1fa2993
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b1fa2993
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b1fa2993

Branch: refs/heads/master
Commit: b1fa2993378f2dc2d113b95b0852723173464cd0
Parents: 15f1058
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Jul 18 18:14:12 2014 -0400
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Jul 29 10:41:11 2014 -0400

----------------------------------------------------------------------
 core/src/main/java/brooklyn/util/task/ssh/SshTasks.java   | 10 ++++++++--
 .../entity/basic/AbstractSoftwareProcessSshDriver.java    |  2 +-
 .../entity/basic/lifecycle/NaiveScriptRunner.java         |  1 +
 .../brooklyn/entity/basic/lifecycle/ScriptHelper.java     |  6 ++++++
 .../brooklyn/entity/webapp/DynamicWebAppClusterImpl.java  |  2 +-
 5 files changed, 17 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1fa2993/core/src/main/java/brooklyn/util/task/ssh/SshTasks.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/ssh/SshTasks.java b/core/src/main/java/brooklyn/util/task/ssh/SshTasks.java
index 652a083..6a0a63e 100644
--- a/core/src/main/java/brooklyn/util/task/ssh/SshTasks.java
+++ b/core/src/main/java/brooklyn/util/task/ssh/SshTasks.java
@@ -44,6 +44,7 @@ import brooklyn.util.internal.ssh.SshTool;
 import brooklyn.util.net.Urls;
 import brooklyn.util.ssh.BashCommands;
 import brooklyn.util.stream.Streams;
+import brooklyn.util.task.DynamicTasks;
 import brooklyn.util.task.Tasks;
 import brooklyn.util.task.ssh.internal.PlainSshExecTaskFactory;
 import brooklyn.util.task.system.ProcessTaskFactory;
@@ -144,8 +145,13 @@ public class SshTasks {
             .returning(new Function<ProcessTaskWrapper<?>,Boolean>() { public Boolean apply(ProcessTaskWrapper<?> task) {
                 if (task.getExitCode()==0 && task.getStdout().contains("sudo-is-working-"+id)) return true;
                 Entity entity = BrooklynTaskTags.getTargetOrContextEntity(Tasks.current());
-                log.warn("Error setting up sudo for "+task.getMachine().getUser()+"@"+task.getMachine().getAddress().getHostName()+" "+
-                        " (exit code "+task.getExitCode()+(entity!=null ? ", entity "+entity : "")+")");
+                
+                // TODO if in a queueing context can we mark this task inessential and throw?
+                // that way user sees the message...
+                String message = "Error setting up sudo for "+task.getMachine().getUser()+"@"+task.getMachine().getAddress().getHostName()+" "+
+                        " (exit code "+task.getExitCode()+(entity!=null ? ", entity "+entity : "")+")";
+                DynamicTasks.queueIfPossible(Tasks.warning(message, null));
+                
                 Streams.logStreamTail(log, "STDERR of sudo setup problem", Streams.byteArrayOfString(task.getStderr()), 1024);
                 if (requireSuccess) {
                     throw new IllegalStateException("Passwordless sudo is required for "+task.getMachine().getUser()+"@"+task.getMachine().getAddress().getHostName()+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1fa2993/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
index 6b4e153..198b979 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
@@ -588,7 +588,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP
             }
             if (INSTALLING.equals(phase)) {
                 // mutexId should be global because otherwise package managers will contend with each other 
-                s.useMutex(getLocation(), "installing", "installing "+elvis(entity,this));
+                s.useMutex(getLocation(), "installation lock at host", "installing "+elvis(entity,this));
                 s.header.append(
                         "export INSTALL_DIR=\""+getInstallDir()+"\"",
                         "mkdir -p $INSTALL_DIR",

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1fa2993/software/base/src/main/java/brooklyn/entity/basic/lifecycle/NaiveScriptRunner.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/lifecycle/NaiveScriptRunner.java b/software/base/src/main/java/brooklyn/entity/basic/lifecycle/NaiveScriptRunner.java
index 409b10e..670b1df 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/lifecycle/NaiveScriptRunner.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/lifecycle/NaiveScriptRunner.java
@@ -37,6 +37,7 @@ public interface NaiveScriptRunner {
      *  out, err as output/error streams;
      *  logPrefix, prefix string to put in log output;
      *  env, map of environment vars to pass to shell environment */
+    @SuppressWarnings("rawtypes")
     int execute(Map flags, List<String> script, String summaryForLogging);
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1fa2993/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java b/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
index 6854eb0..e60e1d7 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/lifecycle/ScriptHelper.java
@@ -66,6 +66,7 @@ public class ScriptHelper {
     public final ScriptPart body = new ScriptPart(this);
     public final ScriptPart footer = new ScriptPart(this);
     
+    @SuppressWarnings("rawtypes")
     protected final Map flags = new LinkedHashMap();
     protected Predicate<? super Integer> resultCodeCheck = Predicates.alwaysTrue();
     protected Predicate<? super ScriptHelper> executionCheck = Predicates.alwaysTrue();
@@ -86,6 +87,7 @@ public class ScriptHelper {
      * Takes a closure which accepts this ScriptHelper and returns true or false
      * as to whether the script needs to run (or can throw error if desired)
      */
+    @SuppressWarnings({ "rawtypes", "unchecked" })
     public ScriptHelper executeIf(Closure c) {
         Predicate<ScriptHelper> predicate = GroovyJavaMethods.predicateFromClosure(c);
         return executeIf(predicate);
@@ -174,6 +176,7 @@ public class ScriptHelper {
      * closure always returns true (and the exit code is made available to the
      * caller if they care)
      */
+    @SuppressWarnings({ "rawtypes", "unchecked" })
     public ScriptHelper requireResultCode(Closure integerFilter) {
         Predicate<Integer> objectPredicate = GroovyJavaMethods.predicateFromClosure(integerFilter);
         return requireResultCode(objectPredicate);
@@ -312,6 +315,7 @@ public class ScriptHelper {
         }
     }
     
+    @SuppressWarnings({ "rawtypes", "unchecked" })
     public int executeInternal() {
         if (!executionCheck.apply(this)) {
             return 0;
@@ -358,10 +362,12 @@ public class ScriptHelper {
         throw new IllegalStateException(message);
     }
 
+    @SuppressWarnings("rawtypes")
     public Map getFlags() {
         return flags;
     }
     
+    @SuppressWarnings("unchecked")
     public ScriptHelper setFlag(String flag, Object value) {
         flags.put(flag, value);
         return this;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1fa2993/software/webapp/src/main/java/brooklyn/entity/webapp/DynamicWebAppClusterImpl.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/brooklyn/entity/webapp/DynamicWebAppClusterImpl.java b/software/webapp/src/main/java/brooklyn/entity/webapp/DynamicWebAppClusterImpl.java
index e3569d6..3378972 100644
--- a/software/webapp/src/main/java/brooklyn/entity/webapp/DynamicWebAppClusterImpl.java
+++ b/software/webapp/src/main/java/brooklyn/entity/webapp/DynamicWebAppClusterImpl.java
@@ -281,7 +281,7 @@ public class DynamicWebAppClusterImpl extends DynamicClusterImpl implements Dyna
             for (String targetName: wars.keySet()) {
                 redeployAllToTarget.add(Effectors.invocation(target, DEPLOY, MutableMap.of("url", wars.get(targetName), "targetName", targetName)));
             }
-            tb.add(redeployAllToTarget.build());
+            tb.add(whenServiceUp(target, redeployAllToTarget.build(), redeployPrefix+" at "+target+" when ready"));
         }
         DynamicTasks.queueIfPossible(tb.build()).orSubmitAsync(this).asTask().getUnchecked();
     }