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();
}