You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2014/11/05 15:34:52 UTC
[1/4] git commit: SoftwareProcess: don’t getShellEnv() if supplied
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master fcac7738c -> c323b00d3
SoftwareProcess: don’t getShellEnv() if supplied
- Calling getShellEnvironment() during jboss.install() was causing it
to lookup the config, including sysprops. However, that required
MySql to have a URL before it could resolve.
On localhost (e.g. integration tests), the jboss.install() held a
lock (SshMachineLocation.acquireMutex) which meant only one thing
could be installed at a time - hence prevented MySql from being
installed. Therefore deadlock.
- Fixed by guarding the call to getShellEnvironment(), to only be
done if env was not explicitly supplied.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b8ec67f7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b8ec67f7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b8ec67f7
Branch: refs/heads/master
Commit: b8ec67f7a5e7547f7d2d59f85b3f6699b0352e6e
Parents: fcac773
Author: Aled Sage <al...@gmail.com>
Authored: Wed Nov 5 13:18:53 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Nov 5 13:18:53 2014 +0000
----------------------------------------------------------------------
.../basic/AbstractSoftwareProcessSshDriver.java | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b8ec67f7/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 0e54a20..1f21fb7 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/AbstractSoftwareProcessSshDriver.java
@@ -57,7 +57,6 @@ import brooklyn.util.text.StringPredicates;
import brooklyn.util.text.Strings;
import brooklyn.util.time.Duration;
-import com.google.common.base.Optional;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -283,7 +282,12 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP
flags.putAll(getSshFlags());
}
flags.putAll(flags2);
- Map<String, String> environment = Optional.fromNullable((Map<String,String>) flags.get("env")).or(getShellEnvironment());
+ Map<String, String> environment = (Map<String, String>) flags.get("env");
+ if (environment == null) {
+ // Important only to call getShellEnvironment() if env was not supplied; otherwise it
+ // could cause us to resolve config (e.g. block for attributeWhenReady) too early.
+ environment = getShellEnvironment();
+ }
if (Tasks.current()!=null) {
// attach tags here, as well as in ScriptHelper, because they may have just been read from the driver
if (environment!=null) {
@@ -368,7 +372,11 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP
@Override
public void copyRuntimeResources() {
try {
- execute("mkdir -p " + getRunDir(), "create run directory");
+ // Ensure environment variables are not looked up here, otherwise sub-classes might
+ // lookup port numbers and fail with ugly error if port is not set. It could also
+ // cause us to block for attribute ready earlier than we need.
+ DynamicTasks.queue(SshEffectorTasks.ssh("mkdir -p " + getRunDir()).summary("create run directory")
+ .requiringExitCodeZero()).get();
Map<String, String> runtimeFiles = entity.getConfig(SoftwareProcess.RUNTIME_FILES);
if (runtimeFiles != null && runtimeFiles.size() > 0) {
[4/4] git commit: This closes #301
Posted by al...@apache.org.
This closes #301
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/c323b00d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/c323b00d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/c323b00d
Branch: refs/heads/master
Commit: c323b00d374a176e3f8baa919c89847c06b4ba60
Parents: fcac773 3440679
Author: Aled Sage <al...@gmail.com>
Authored: Wed Nov 5 14:34:41 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Nov 5 14:34:41 2014 +0000
----------------------------------------------------------------------
.../basic/AbstractSoftwareProcessSshDriver.java | 14 +++++++++++---
.../brooklynnode/BrooklynNodeIntegrationTest.java | 9 ++++++++-
.../entity/webapp/tomcat/Tomcat7SshDriver.java | 3 ++-
3 files changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
[3/4] git commit: fix
BrooklynNodeIntegrationTest.testStopPlainThrowsException
Posted by al...@apache.org.
fix BrooklynNodeIntegrationTest.testStopPlainThrowsException
- Test was leaving brooklyn process running
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/34406797
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/34406797
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/34406797
Branch: refs/heads/master
Commit: 344067970e305843b1703bc34c38f18659de038f
Parents: 66cbad2
Author: Aled Sage <al...@gmail.com>
Authored: Wed Nov 5 13:35:08 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Nov 5 13:35:08 2014 +0000
----------------------------------------------------------------------
.../entity/brooklynnode/BrooklynNodeIntegrationTest.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/34406797/software/base/src/test/java/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java b/software/base/src/test/java/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
index 27eb278..065996d 100644
--- a/software/base/src/test/java/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
+++ b/software/base/src/test/java/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
@@ -48,6 +48,7 @@ import brooklyn.entity.basic.BasicApplicationImpl;
import brooklyn.entity.basic.Entities;
import brooklyn.entity.brooklynnode.BrooklynNode.DeployBlueprintEffector;
import brooklyn.entity.brooklynnode.BrooklynNode.ExistingFileBehaviour;
+import brooklyn.entity.brooklynnode.BrooklynNode.StopNodeAndKillAppsEffector;
import brooklyn.entity.proxying.EntityProxyImpl;
import brooklyn.entity.proxying.EntitySpec;
import brooklyn.event.feed.http.JsonFunctions;
@@ -63,7 +64,6 @@ import brooklyn.test.entity.TestApplication;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.config.ConfigBag;
import brooklyn.util.exceptions.Exceptions;
-import brooklyn.util.exceptions.PropagatedRuntimeException;
import brooklyn.util.guava.Functionals;
import brooklyn.util.http.HttpTool;
import brooklyn.util.http.HttpToolResponse;
@@ -72,6 +72,7 @@ import brooklyn.util.net.Networking;
import brooklyn.util.net.Urls;
import brooklyn.util.os.Os;
import brooklyn.util.text.Strings;
+import brooklyn.util.time.Duration;
import com.google.common.base.Charsets;
import com.google.common.base.Function;
@@ -452,6 +453,12 @@ services:
} else {
throw e;
}
+ } finally {
+ try {
+ brooklynNode.invoke(BrooklynNode.STOP_NODE_AND_KILL_APPS, ImmutableMap.of(StopNodeAndKillAppsEffector.TIMEOUT.getName(), Duration.THIRTY_SECONDS)).getUnchecked();
+ } catch (Exception e) {
+ log.warn("Error in stopNodeAndKillApps for "+brooklynNode+" (continuing)", e);
+ }
}
}
[2/4] git commit: Tomcat install: don’t resolve config (via env variables)
Posted by al...@apache.org.
Tomcat install: don’t resolve config (via env variables)
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/66cbad2b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/66cbad2b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/66cbad2b
Branch: refs/heads/master
Commit: 66cbad2b18f793edf19c34afa41d2028d86785ca
Parents: b8ec67f
Author: Aled Sage <al...@gmail.com>
Authored: Wed Nov 5 13:20:21 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Nov 5 13:20:21 2014 +0000
----------------------------------------------------------------------
.../main/java/brooklyn/entity/webapp/tomcat/Tomcat7SshDriver.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/66cbad2b/software/webapp/src/main/java/brooklyn/entity/webapp/tomcat/Tomcat7SshDriver.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/brooklyn/entity/webapp/tomcat/Tomcat7SshDriver.java b/software/webapp/src/main/java/brooklyn/entity/webapp/tomcat/Tomcat7SshDriver.java
index 787ef6e..05d8fc2 100644
--- a/software/webapp/src/main/java/brooklyn/entity/webapp/tomcat/Tomcat7SshDriver.java
+++ b/software/webapp/src/main/java/brooklyn/entity/webapp/tomcat/Tomcat7SshDriver.java
@@ -70,6 +70,7 @@ public class Tomcat7SshDriver extends JavaWebAppSshDriver implements Tomcat7Driv
commands.add(format("tar xvzf %s", saveAs));
newScript(INSTALLING)
+ .environmentVariablesReset()
.body.append(commands)
.execute();
}
@@ -91,7 +92,7 @@ public class Tomcat7SshDriver extends JavaWebAppSshDriver implements Tomcat7Driv
@Override
public void launch() {
- Map ports = MutableMap.of("httpPort", getHttpPort(), "shutdownPort", getShutdownPort());
+ Map<String, Integer> ports = MutableMap.of("httpPort", getHttpPort(), "shutdownPort", getShutdownPort());
Networking.checkPortsValid(ports);
// We wait for evidence of tomcat running because, using