[2/2] brooklyn-server git commit: This closes #43

2016-03-07 Thread heneveld
This closes #43


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

Branch: refs/heads/master
Commit: 52766279e1355d7aea29bee969a8718eca615012
Parents: ba57efa 737a77e
Author: Alex Heneveld 
Authored: Mon Mar 7 11:33:20 2016 +
Committer: Alex Heneveld 
Committed: Mon Mar 7 11:33:20 2016 +

--
 locations/jclouds/pom.xml | 10 ++
 .../location/jclouds/JcloudsSshMachineLocation.java   |  3 +--
 .../location/jclouds/JcloudsAddressesLiveTest.java|  2 +-
 .../location/jclouds/RebindJcloudsLocationLiveTest.java   |  5 +++--
 4 files changed, 15 insertions(+), 5 deletions(-)
--




[1/2] brooklyn-server git commit: Fix hostname resolving for jclouds locations

2016-03-07 Thread heneveld
Repository: brooklyn-server
Updated Branches:
  refs/heads/master ba57efa39 -> 52766279e


Fix hostname resolving for jclouds locations

* don't initialize hostname directly from the node
* correct lazy hostname initialization logic


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

Branch: refs/heads/master
Commit: 737a77ed58de5432e2b74fe0582ed2344571c272
Parents: 972854a
Author: Svetoslav Neykov 
Authored: Mon Feb 29 18:17:04 2016 +0200
Committer: Svetoslav Neykov 
Committed: Mon Feb 29 18:17:04 2016 +0200

--
 locations/jclouds/pom.xml | 10 ++
 .../location/jclouds/JcloudsSshMachineLocation.java   |  3 +--
 .../location/jclouds/JcloudsAddressesLiveTest.java|  2 +-
 .../location/jclouds/RebindJcloudsLocationLiveTest.java   |  5 +++--
 4 files changed, 15 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/737a77ed/locations/jclouds/pom.xml
--
diff --git a/locations/jclouds/pom.xml b/locations/jclouds/pom.xml
index 5db6ce7..2fcf96f 100644
--- a/locations/jclouds/pom.xml
+++ b/locations/jclouds/pom.xml
@@ -206,5 +206,15 @@
 mockito-all
 test
 
+
+
+javax.ws.rs
+javax.ws.rs-api
+test
+
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/737a77ed/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
--
diff --git 
a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
 
b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
index cddc98b..ffae5c6 100644
--- 
a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
+++ 
b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
@@ -197,7 +197,6 @@ public class JcloudsSshMachineLocation extends 
SshMachineLocation implements Jcl
 imageId = node.getImageId();
 privateAddresses = node.getPrivateAddresses();
 publicAddresses = node.getPublicAddresses();
-hostname = node.getHostname();
 _node = Optional.of(node);
 }
 
@@ -281,7 +280,7 @@ public class JcloudsSshMachineLocation extends 
SshMachineLocation implements Jcl
 // was wrong on some clouds (e.g. vcloud-director, where VMs are often 
given a random 
 // hostname that does not resolve on the VM and is not in any DNS).
 // Now delegates to jcloudsParent.getPublicHostname(node).
-if (privateHostname == null) {
+if (hostname == null) {
 Optional node = getOptionalNode();
 if (node.isPresent()) {
 HostAndPort sshHostAndPort = getSshHostAndPort();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/737a77ed/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAddressesLiveTest.java
--
diff --git 
a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAddressesLiveTest.java
 
b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAddressesLiveTest.java
index 4a91255..70e1bde 100644
--- 
a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAddressesLiveTest.java
+++ 
b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAddressesLiveTest.java
@@ -80,8 +80,8 @@ public class JcloudsAddressesLiveTest extends 
AbstractJcloudsLiveTest {
 Set publicAddresses = machine.getPublicAddresses();
 Set privateAddresses = machine.getPrivateAddresses();
 String subnetIp = machine.getSubnetIp();
-String hostname = machine.getHostname();
 String subnetHostname = machine.getSubnetHostname();
+String hostname = machine.getHostname();
 String msg = "locationAddress="+locationAddress+"; 
address="+address+"; publicAddrs="+publicAddresses+"; 
privateAddrs="+privateAddresses+"; subnetIp="+subnetIp+"; 
hostname="+hostname+"; subnetHostname="+subnetHostname;
 LOG.info("node: "+msg);
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/737a77ed/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/RebindJcloudsLocationLiveTest.java

[2/2] brooklyn-server git commit: This closes #50

2016-03-07 Thread heneveld
This closes #50


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

Branch: refs/heads/master
Commit: ba57efa3991a06cd168bd9c8a8224b75f72424eb
Parents: 6e39ce6 4147a57
Author: Alex Heneveld 
Authored: Mon Mar 7 10:52:07 2016 +
Committer: Alex Heneveld 
Committed: Mon Mar 7 10:52:07 2016 +

--
 .../persist/UnwantedStateLoggingMapper.java | 27 ++--
 1 file changed, 13 insertions(+), 14 deletions(-)
--




[1/2] brooklyn-server git commit: Make unwanted state checks configurable

2016-03-07 Thread heneveld
Repository: brooklyn-server
Updated Branches:
  refs/heads/master 6e39ce68b -> ba57efa39


Make unwanted state checks configurable


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

Branch: refs/heads/master
Commit: 4147a57fc8779dd79ff589ab401ac32f5cf619b1
Parents: 4d72b68
Author: Svetoslav Neykov 
Authored: Sun Mar 6 17:44:46 2016 +0200
Committer: Svetoslav Neykov 
Committed: Mon Mar 7 12:40:06 2016 +0200

--
 .../persist/UnwantedStateLoggingMapper.java | 27 ++--
 1 file changed, 13 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/4147a57f/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
--
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
index 038a017..a912b5b 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
@@ -30,6 +30,7 @@ import com.thoughtworks.xstream.mapper.MapperWrapper;
 public class UnwantedStateLoggingMapper extends MapperWrapper {
 private static final Logger LOG = 
LoggerFactory.getLogger(UnwantedStateLoggingMapper.class);
 private static final AtomicLong WARN_CNT = new AtomicLong();
+private static Class[] TYPES_TO_WARN_IF_SERIALIZE = {Task.class, 
Thread.class, ThreadLocal.class};
 
 public UnwantedStateLoggingMapper(Mapper wrapped) {
 super(wrapped);
@@ -43,21 +44,19 @@ public class UnwantedStateLoggingMapper extends 
MapperWrapper {
 
 private void logIfInteresting(Class type) {
 if (type != null) {
-if (Task.class.isAssignableFrom(type)) {
-long cnt = WARN_CNT.getAndIncrement();
-if (cnt < 5 || cnt % 1 == 0) {
-LOG.warn("Trying to serialize a Task object of type " + 
type + ". " +
-"Task object serialization is not supported or 
recommended. " +
-"Check if the Task object is set as a config or 
sensor value by mistake.");
+for (Class warnClass : TYPES_TO_WARN_IF_SERIALIZE) {
+if (warnClass.isAssignableFrom(type)) {
+long cnt = WARN_CNT.getAndIncrement();
+if (cnt < 5 || cnt % 1 == 0) {
+LOG.warn("Trying to serialize a " + 
warnClass.getSimpleName() + " object of type " + type + " which could lead " +
+"to unexpected behaviour upon rebind. " + 
warnClass.getSimpleName() + " object serialization is not " +
+"supported or recommended. Check if the " + 
warnClass.getSimpleName() + " object (or its container) " +
+"is set as a config or sensor value by 
mistake.");
+}
 }
-} else if (ThreadLocal.class.isAssignableFrom(type)) {
-long cnt = WARN_CNT.getAndIncrement();
-if (cnt < 5 || cnt % 1 == 0) {
-LOG.warn("Trying to serialize a ThreadLocal object of type 
" + type + ", which could lead to unexpected" +
-"behaviour upon rebind. ThreadLocal object 
serialization is not supported or recommended. " +
-"Check if a wrapper for ThreadLocal object is set 
as a config or sensor value by mistake.");
-}
-} else if (LOG.isTraceEnabled()) {
+}
+
+if (LOG.isTraceEnabled()) {
 LOG.trace("Serializing object of type " + type.getName());
 }
 // TODO could add more checks to guide developers, for example



[2/6] brooklyn-server git commit: Added start latch to BasicStartable and StartableApplication

2016-03-07 Thread sjcorbett
Added start latch to BasicStartable and StartableApplication


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

Branch: refs/heads/master
Commit: a5660eae10a4c64b09028402f2c85ae5ff7862a5
Parents: 975a599
Author: Andrew Donald Kennedy 
Authored: Wed Feb 24 08:30:54 2016 +
Committer: Andrew Donald Kennedy 
Committed: Fri Mar 4 17:57:47 2016 +

--
 .../core/entity/AbstractApplication.java| 27 
 .../core/entity/StartableApplication.java   |  6 -
 .../entity/stock/BasicApplicationImpl.java  |  4 +--
 .../brooklyn/entity/stock/BasicEntityImpl.java  |  7 ++---
 .../brooklyn/entity/stock/BasicStartable.java   | 14 +++---
 .../entity/stock/BasicStartableImpl.java| 17 +++-
 6 files changed, 45 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a5660eae/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java
--
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java 
b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java
index 18a79cd..db2cd9f 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java
@@ -21,6 +21,11 @@ package org.apache.brooklyn.core.entity;
 import java.util.Collection;
 import java.util.Map;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.collect.ImmutableSet;
+
 import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.location.Location;
@@ -35,10 +40,6 @@ import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.exceptions.RuntimeInterruptedException;
 import org.apache.brooklyn.util.text.Strings;
 import org.apache.brooklyn.util.time.Time;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.ImmutableSet;
 
 /**
  * Users can extend this to define the entities in their application, and the 
relationships between
@@ -132,12 +133,12 @@ public abstract class AbstractApplication extends 
AbstractEntity implements Star
 @Override
 protected void initEnrichers() {
 super.initEnrichers();
-
+
 // default app logic; easily overridable by adding a different 
enricher with the same tag
 
ServiceStateLogic.newEnricherFromChildren().checkChildrenAndMembers().addTo(this);
 ServiceStateLogic.ServiceNotUpLogic.updateNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL, "Application created but not yet started, at 
"+Time.makeDateString());
 }
-
+
 /**
  * Default start will start all Startable children 
(child.start(Collection)),
  * calling preStart(locations) first and postStart(locations) afterwards.
@@ -152,15 +153,19 @@ public abstract class AbstractApplication extends 
AbstractEntity implements Star
 setExpectedStateAndRecordLifecycleEvent(Lifecycle.STARTING);
 try {
 preStart(locationsToUse);
-// if there are other items which should block service_up, they 
should be done in preStart
-ServiceStateLogic.ServiceNotUpLogic.clearNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL);
-
+
+// Opportunity to block startup until other dependent components 
are available
+Object val = config().get(START_LATCH);
+if (val != null) log.debug("{} finished waiting for start-latch; 
continuing...", this);
+
 doStart(locationsToUse);
 postStart(locationsToUse);
+
+ServiceStateLogic.ServiceNotUpLogic.clearNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL);
 } catch (Exception e) {
 // TODO should probably remember these problems then clear?  if 
so, do it here ... or on all effectors?
-//ServiceProblemsLogic.updateProblemsIndicator(this, START, e);
-
+// ServiceProblemsLogic.updateProblemsIndicator(this, START, e);
+
 recordApplicationEvent(Lifecycle.ON_FIRE);
 // no need to log here; the effector invocation should do that
 throw Exceptions.propagate(e);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a5660eae/core/src/main/java/org/apache/brooklyn/core/entity/StartableApplication.java

[4/6] brooklyn-server git commit: Fix test count of params on Application

2016-03-07 Thread sjcorbett
Fix test count of params on Application


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

Branch: refs/heads/master
Commit: 50cf857ca7ae7da59d45d76319de86ab3f2180e3
Parents: d50580b
Author: Andrew Donald Kennedy 
Authored: Thu Mar 3 17:26:54 2016 +
Committer: Andrew Donald Kennedy 
Committed: Fri Mar 4 17:58:49 2016 +

--
 .../camp/brooklyn/catalog/SpecParameterUnwrappingTest.java  | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/50cf857c/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java
--
diff --git 
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java
 
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java
index 29788ce..e129229 100644
--- 
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java
+++ 
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java
@@ -294,9 +294,8 @@ public class SpecParameterUnwrappingTest extends 
AbstractYamlTest {
 "services:",
 "- type: " + ver(SYMBOLIC_NAME));
 List params = spec.getParameters();
-assertEquals(params.size(), 3, "Wrong number of params: "+params); // 
sample + defaultDisplayName + destroy_on_stop
-assertEquals(ImmutableSet.copyOf(params), 
-ImmutableSet.copyOf(BasicSpecParameter.fromClass(mgmt(), 
ConfigAppForTest.class)));
+assertEquals(params.size(), 4, "Wrong number of params: "+params); // 
sample + defaultDisplayName + destroy_on_stop + start.latch
+assertEquals(ImmutableSet.copyOf(params), 
ImmutableSet.copyOf(BasicSpecParameter.fromClass(mgmt(), 
ConfigAppForTest.class)));
 }
 
 @Test



[3/6] brooklyn-server git commit: Change preInstall to prepare and add ARCHIVE_DIRECTORY_NAME_FORMAT config

2016-03-07 Thread sjcorbett
Change preInstall to prepare and add ARCHIVE_DIRECTORY_NAME_FORMAT config


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

Branch: refs/heads/master
Commit: d50580bea44bd48c0cba66190c9e545158e629f9
Parents: 48e8fd7
Author: Andrew Donald Kennedy 
Authored: Thu Mar 3 16:33:52 2016 +
Committer: Andrew Donald Kennedy 
Committed: Fri Mar 4 17:57:48 2016 +

--
 .../brooklynnode/BrooklynNodeSshDriver.java |  7 +-
 .../base/AbstractSoftwareProcessDriver.java | 68 +---
 .../base/AbstractSoftwareProcessSshDriver.java  | 62 --
 .../AbstractSoftwareProcessWinRmDriver.java | 35 --
 .../entity/software/base/SoftwareProcess.java   | 34 --
 5 files changed, 101 insertions(+), 105 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d50580be/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
--
diff --git 
a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
 
b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
index 8058d0f..5e2caa2 100644
--- 
a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
+++ 
b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java
@@ -88,8 +88,7 @@ public class BrooklynNodeSshDriver extends 
JavaSoftwareProcessSshDriver implemen
 }
 
 @Override
-public void preInstall() {
-resolver = Entities.newDownloader(this);
+public String getArchiveNameFormat() {
 String subpath = entity.getConfig(BrooklynNode.SUBPATH_IN_ARCHIVE);
 if (subpath==null) {
 // assume the dir name is `basename-VERSION` where download link 
is `basename-VERSION-dist.tar.gz`
@@ -112,8 +111,8 @@ public class BrooklynNodeSshDriver extends 
JavaSoftwareProcessSshDriver implemen
 }
 }
 }
-if (subpath==null) subpath = format("brooklyn-dist-%s", getVersion());
-setExpandedInstallDir(Os.mergePaths(getInstallDir(), 
resolver.getUnpackedDirectoryName(subpath)));
+if (subpath==null) subpath = "brooklyn-dist-%s";
+return subpath;
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d50580be/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessDriver.java
--
diff --git 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessDriver.java
 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessDriver.java
index b48fab8..6e0f24f 100644
--- 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessDriver.java
+++ 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessDriver.java
@@ -91,7 +91,7 @@ public abstract class AbstractSoftwareProcessDriver 
implements SoftwareProcessDr
  * skipped, {@link BrooklynConfigKeys#SKIP_ENTITY_START} can be set on the 
entity.
  * The {@link BrooklynConfigKeys#SKIP_ENTITY_INSTALLATION} key can also be 
used to
  * skip the {@link #setup()}, {@link #copyInstallResources()} and
- * {@link #install()} methods if set on the entity or location. 
+ * {@link #install()} methods if set on the entity or location.
  *
  * @see #stop()
  */
@@ -106,26 +106,31 @@ public abstract class AbstractSoftwareProcessDriver 
implements SoftwareProcessDr
 } else {
 skipStart = entityStarted.or(false);
 }
+
+DynamicTasks.queue("prepare", new Runnable() { public void run() {
+prepare();
+}});
+
 if (!skipStart) {
 DynamicTasks.queue("install", new Runnable() { public void run() {
 Optional locationInstalled = 
Optional.fromNullable(getLocation().getConfig(BrooklynConfigKeys.SKIP_ENTITY_INSTALLATION));
 Optional entityInstalled = 
Optional.fromNullable(entity.getConfig(BrooklynConfigKeys.SKIP_ENTITY_INSTALLATION));
 
-DynamicTasks.queue("copy-pre-install-resources", new 
Runnable() { public void run() {
-
waitForConfigKey(BrooklynConfigKeys.PRE_INSTALL_RESOURCES_LATCH);
-copyPreInstallResources();
-}});
+ 

[2/2] brooklyn-server git commit: This closes #49

2016-03-07 Thread heneveld
This closes #49


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

Branch: refs/heads/master
Commit: 4d72b68d8d69202bbd2d44edccc6312d139f2224
Parents: 1f15932 ff22447
Author: Alex Heneveld 
Authored: Mon Mar 7 10:33:19 2016 +
Committer: Alex Heneveld 
Committed: Mon Mar 7 10:33:19 2016 +

--
 .../persist/UnwantedStateLoggingMapper.java | 68 
 .../core/mgmt/persist/XmlMementoSerializer.java |  4 +-
 ...ntoPersisterInMemorySizeIntegrationTest.java | 37 ++-
 ...essPersisterInMemorySizeIntegrationTest.java | 48 ++
 4 files changed, 139 insertions(+), 18 deletions(-)
--




[1/2] brooklyn-server git commit: Make sure no unwanted state is serialized

2016-03-07 Thread heneveld
Repository: brooklyn-server
Updated Branches:
  refs/heads/master 1f1593289 -> 4d72b68d8


Make sure no unwanted state is serialized

Certain types of objects could bring a lot of unwanted baggage with them while 
serialized.
  * Check and warn if such objects are serialized
  * Test that serializing SoftwareProcessDriverLifecycleEffectorTasks and 
MachineInitTasks is lean, doesn't lead to OOME


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

Branch: refs/heads/master
Commit: ff22447551107492c6fe49f3f0b38b16b6736f6b
Parents: 972854a
Author: Svetoslav Neykov 
Authored: Sun Mar 6 17:44:46 2016 +0200
Committer: Svetoslav Neykov 
Committed: Mon Mar 7 12:31:31 2016 +0200

--
 .../persist/UnwantedStateLoggingMapper.java | 68 
 .../core/mgmt/persist/XmlMementoSerializer.java |  4 +-
 ...ntoPersisterInMemorySizeIntegrationTest.java | 37 ++-
 ...essPersisterInMemorySizeIntegrationTest.java | 48 ++
 4 files changed, 139 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/ff224475/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
--
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
new file mode 100644
index 000..038a017
--- /dev/null
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/UnwantedStateLoggingMapper.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.core.mgmt.persist;
+
+import java.util.concurrent.atomic.AtomicLong;
+
+import org.apache.brooklyn.api.mgmt.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.thoughtworks.xstream.mapper.Mapper;
+import com.thoughtworks.xstream.mapper.MapperWrapper;
+
+public class UnwantedStateLoggingMapper extends MapperWrapper {
+private static final Logger LOG = 
LoggerFactory.getLogger(UnwantedStateLoggingMapper.class);
+private static final AtomicLong WARN_CNT = new AtomicLong();
+
+public UnwantedStateLoggingMapper(Mapper wrapped) {
+super(wrapped);
+}
+
+@Override
+public String serializedClass(@SuppressWarnings("rawtypes") Class type) {
+logIfInteresting(type);
+return super.serializedClass(type);
+}
+
+private void logIfInteresting(Class type) {
+if (type != null) {
+if (Task.class.isAssignableFrom(type)) {
+long cnt = WARN_CNT.getAndIncrement();
+if (cnt < 5 || cnt % 1 == 0) {
+LOG.warn("Trying to serialize a Task object of type " + 
type + ". " +
+"Task object serialization is not supported or 
recommended. " +
+"Check if the Task object is set as a config or 
sensor value by mistake.");
+}
+} else if (ThreadLocal.class.isAssignableFrom(type)) {
+long cnt = WARN_CNT.getAndIncrement();
+if (cnt < 5 || cnt % 1 == 0) {
+LOG.warn("Trying to serialize a ThreadLocal object of type 
" + type + ", which could lead to unexpected" +
+"behaviour upon rebind. ThreadLocal object 
serialization is not supported or recommended. " +
+"Check if a wrapper for ThreadLocal object is set 
as a config or sensor value by mistake.");
+}
+} else if (LOG.isTraceEnabled()) {
+LOG.trace("Serializing object of type " + type.getName());
+}
+// TODO could add more 

[08/13] brooklyn-library git commit: This closes #16

2016-03-07 Thread heneveld
This closes #16


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

Branch: refs/heads/master
Commit: c0ea6d5d46e33f7be2c43dd5f921fa8f46b61e7e
Parents: 6efb209 39ed6e4
Author: Alex Heneveld 
Authored: Mon Mar 7 09:18:57 2016 +
Committer: Alex Heneveld 
Committed: Mon Mar 7 09:18:57 2016 +

--
 .../database/postgresql/PostgreSqlSshDriver.java  | 14 +++---
 .../entity/messaging/rabbit/RabbitSshDriver.java  | 18 +-
 .../network/bind/BindDnsServerSshDriver.java  |  4 ++--
 .../entity/nosql/riak/RiakNodeSshDriver.java  |  4 ++--
 .../entity/nosql/couchbase/pillowfight.yaml   |  8 +---
 5 files changed, 29 insertions(+), 19 deletions(-)
--




[10/13] brooklyn-library git commit: This closes #13

2016-03-07 Thread heneveld
This closes #13


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

Branch: refs/heads/master
Commit: 74757844e5f12ddf6509fe47bb6c93765ff0c51d
Parents: b11bed4 b5ae342
Author: Alex Heneveld 
Authored: Mon Mar 7 09:20:22 2016 +
Committer: Alex Heneveld 
Committed: Mon Mar 7 09:20:22 2016 +

--
 .../entity/database/mssql/installmssql.ps1  | 31 +---
 1 file changed, 20 insertions(+), 11 deletions(-)
--




[04/13] brooklyn-library git commit: CouchDB polling sensors fix - update with stats which are more likely to be available

2016-03-07 Thread heneveld
CouchDB polling sensors fix
- update with stats which are more likely to be available


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

Branch: refs/heads/master
Commit: 57d89cb5fd7e7d8bf462d2284c50ff2a0e33c2e9
Parents: cbb58b9
Author: Valentin Aitken 
Authored: Tue Mar 1 18:32:49 2016 +0200
Committer: Valentin Aitken 
Committed: Tue Mar 1 18:32:49 2016 +0200

--
 .../brooklyn/entity/nosql/couchdb/CouchDBNodeImpl.java   | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/57d89cb5/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchdb/CouchDBNodeImpl.java
--
diff --git 
a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchdb/CouchDBNodeImpl.java
 
b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchdb/CouchDBNodeImpl.java
index 933e818..78a85f9 100644
--- 
a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchdb/CouchDBNodeImpl.java
+++ 
b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchdb/CouchDBNodeImpl.java
@@ -65,21 +65,21 @@ public class CouchDBNodeImpl extends SoftwareProcessImpl 
implements CouchDBNode
 connectServiceUpIsRunning();
 
 boolean retrieveUsageMetrics = getConfig(RETRIEVE_USAGE_METRICS);
-
+
 httpFeed = HttpFeed.builder()
 .entity(this)
 .period(500, TimeUnit.MILLISECONDS)
 .baseUri(String.format("http://%s:%d/_stats;, 
getAttribute(HOSTNAME), getHttpPort()))
 .poll(new HttpPollConfig(REQUEST_COUNT)
-.onSuccess(HttpValueFunctions.jsonContents(new 
String[] { "httpd", "requests", "count" }, Integer.class))
+.onSuccess(HttpValueFunctions.jsonContents(new 
String[] { "httpd", "requests", "sum" }, Integer.class))
 .onFailureOrException(EntityFunctions.attribute(this, 
REQUEST_COUNT))
 .enabled(retrieveUsageMetrics))
 .poll(new HttpPollConfig(ERROR_COUNT)
-.onSuccess(HttpValueFunctions.jsonContents(new 
String[] { "httpd_status_codes", "404", "count" }, Integer.class))
+.onSuccess(HttpValueFunctions.jsonContents(new 
String[] { "httpd_status_codes", "404", "sum" }, Integer.class))
 .onFailureOrException(Functions.constant(-1))
 .enabled(retrieveUsageMetrics))
 .poll(new HttpPollConfig(TOTAL_PROCESSING_TIME)
-.onSuccess(HttpValueFunctions.jsonContents(new 
String[] { "couchdb", "request_time", "count" }, Integer.class))
+.onSuccess(HttpValueFunctions.jsonContents(new 
String[] { "couchdb", "request_time", "sum" }, Integer.class))
 .onFailureOrException(Functions.constant(-1))
 .enabled(retrieveUsageMetrics))
 .poll(new HttpPollConfig(MAX_PROCESSING_TIME)



[13/13] brooklyn-library git commit: tidy review comments for riak node driver

2016-03-07 Thread heneveld
tidy review comments for riak node driver


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

Branch: refs/heads/master
Commit: a0e352de176756dfede7f6ae7e69c4c78a88b36e
Parents: 632ff60
Author: Alex Heneveld 
Authored: Mon Mar 7 09:26:37 2016 +
Committer: Alex Heneveld 
Committed: Mon Mar 7 09:26:37 2016 +

--
 .../apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java   | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/a0e352de/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
--
diff --git 
a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
 
b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index 00b675e..a62b400 100644
--- 
a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ 
b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -108,11 +108,6 @@ public class RiakNodeSshDriver extends 
JavaSoftwareProcessSshDriver implements R
 
 @Override
 public void install() {
-// TODO download URL can be inferred
-//if (entity.getConfig(Attributes.DOWNLOAD_URL) != null) {
-//LOG.warn("Ignoring download.url {}, use download.url.rhelcentos 
or download.url.mac", entity.getConfig(Attributes.DOWNLOAD_URL));
-//}
-
 OsDetails osDetails = getMachine().getMachineDetails().getOsDetails();
 List commands = Lists.newLinkedList();
 if (osDetails.isLinux()) {
@@ -130,6 +125,7 @@ public class RiakNodeSshDriver extends 
JavaSoftwareProcessSshDriver implements R
 getMachine() + ". Details: " + 
getMachine().getMachineDetails().getOsDetails());
 }
 
+LOG.debug("Installing to "+this+" using 
commands:\n"+Strings.join(commands, "\n"));
 int result = newScript(INSTALLING)
 .body.append(commands)
 .failIfBodyEmpty()



[12/13] brooklyn-library git commit: This closes #11

2016-03-07 Thread heneveld
This closes #11


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

Branch: refs/heads/master
Commit: 632ff60508225ae95ae96d91db115d71bf4127ab
Parents: b3b5551 b04591b
Author: Alex Heneveld 
Authored: Mon Mar 7 09:22:39 2016 +
Committer: Alex Heneveld 
Committed: Mon Mar 7 09:22:39 2016 +

--
 .../entity/nosql/riak/RiakNodeSshDriver.java| 13 
 .../cassandra/CassandraDatacenterTest.java  | 14 -
 .../entity/proxy/AbstractControllerImpl.java| 33 +++-
 .../AbstractNonProvisionedControllerImpl.java   | 10 +++---
 .../entity/proxy/AbstractControllerTest.java| 31 +-
 .../proxy/TrackingAbstractControllerImpl.java   |  3 +-
 .../ControlledDynamicWebAppClusterTest.java | 22 +++--
 7 files changed, 75 insertions(+), 51 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/632ff605/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
--



[02/13] brooklyn-library git commit: notes and logging for intermittent failure BROOKLYN-206

2016-03-07 Thread heneveld
notes and logging for intermittent failure BROOKLYN-206


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

Branch: refs/heads/master
Commit: dddc28e6ee8c55f2d201bc2be005399d743db46a
Parents: 6fe1f88
Author: Alex Heneveld 
Authored: Wed Feb 24 14:13:07 2016 -0800
Committer: Alex Heneveld 
Committed: Wed Feb 24 14:13:07 2016 -0800

--
 .../entity/proxy/AbstractControllerImpl.java| 33 +++-
 .../AbstractNonProvisionedControllerImpl.java   | 10 +++---
 .../entity/proxy/AbstractControllerTest.java| 31 +-
 .../proxy/TrackingAbstractControllerImpl.java   |  3 +-
 4 files changed, 49 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/dddc28e6/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
--
diff --git 
a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
 
b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
index 204ec54..5c4c443 100644
--- 
a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
+++ 
b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
@@ -44,13 +44,13 @@ import 
org.apache.brooklyn.core.location.access.BrooklynAccessUtils;
 import org.apache.brooklyn.entity.group.AbstractMembershipTrackingPolicy;
 import org.apache.brooklyn.entity.group.Cluster;
 import org.apache.brooklyn.entity.software.base.SoftwareProcessImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.core.task.Tasks;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.text.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Objects;
 import com.google.common.base.Predicates;
@@ -142,20 +142,25 @@ public abstract class AbstractControllerImpl extends 
SoftwareProcessImpl impleme
 
 LOG.info("Added policy {} to {}", serverPoolMemberTrackerPolicy, this);
 
-// Initialize ourselves immediately with the latest set of members; 
don't wait for
-// listener notifications because then will be out-of-date for short 
period (causing 
-// problems for rebind)
-Map serverPoolTargets = Maps.newLinkedHashMap();
-for (Entity member : getServerPool().getMembers()) {
-if (belongsInServerPool(member)) {
-if (LOG.isTraceEnabled()) LOG.trace("Done {} checkEntity {}", 
this, member);
-String address = getAddressOfEntity(member);
-serverPoolTargets.put(member, address);
+synchronized (serverPoolAddresses) {
+// Initialize ourselves immediately with the latest set of 
members; don't wait for
+// listener notifications because then will be out-of-date for 
short period (causing 
+// problems for rebind)
+// if invoked on start, we'll have isActive=false at this point so 
other policies wont' run anyway,
+// but synch in case invoked at other times; and note if !isActive 
during start means we miss some after this,
+// we will update again on postStart after setting isActive=true
+Map serverPoolTargets = Maps.newLinkedHashMap();
+for (Entity member : getServerPool().getMembers()) {
+if (belongsInServerPool(member)) {
+if (LOG.isTraceEnabled()) LOG.trace("Done {} checkEntity 
{}", this, member);
+String address = getAddressOfEntity(member);
+serverPoolTargets.put(member, address);
+}
 }
-}
 
-LOG.info("Resetting {}, server pool targets {}", new Object[] {this, 
serverPoolTargets});
-sensors().set(SERVER_POOL_TARGETS, serverPoolTargets);
+LOG.info("Resetting {}, server pool targets {}", new Object[] 
{this, serverPoolTargets});
+sensors().set(SERVER_POOL_TARGETS, serverPoolTargets);
+}
 }
 
 protected void removeServerPoolMemberTrackingPolicy() {

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/dddc28e6/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractNonProvisionedControllerImpl.java

[03/13] brooklyn-library git commit: fix failing test by not destroying app on stop

2016-03-07 Thread heneveld
fix failing test by not destroying app on stop

also update deprecated test utils usage


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

Branch: refs/heads/master
Commit: b04591b0c4efd07ed939c0a5d318c6e81e96c92f
Parents: dddc28e
Author: Alex Heneveld 
Authored: Wed Feb 24 21:41:45 2016 -0800
Committer: Alex Heneveld 
Committed: Wed Feb 24 21:41:45 2016 -0800

--
 .../cassandra/CassandraDatacenterTest.java  | 14 ++---
 .../ControlledDynamicWebAppClusterTest.java | 22 +++-
 2 files changed, 19 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/b04591b0/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
--
diff --git 
a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
 
b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
index 2c978b2..7e32569 100644
--- 
a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
+++ 
b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
@@ -28,11 +28,11 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.core.entity.Attributes;
+import org.apache.brooklyn.core.entity.EntityAsserts;
 import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcess;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcessSshDriver;
 import 
org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
-import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.util.core.ResourceUtils;
 import org.apache.brooklyn.util.core.text.TemplateProcessor;
 import org.apache.brooklyn.util.javalang.JavaClassNames;
@@ -75,7 +75,7 @@ public class CassandraDatacenterTest extends 
BrooklynAppUnitTestSupport {
 EmptySoftwareProcess e1 = (EmptySoftwareProcess) 
Iterables.get(cluster.getMembers(), 0);
 EmptySoftwareProcess e2 = (EmptySoftwareProcess) 
Iterables.get(cluster.getMembers(), 1);
 
-EntityTestUtils.assertAttributeEqualsEventually(cluster, 
CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.of(e1, e2));
+EntityAsserts.assertAttributeEqualsEventually(cluster, 
CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.of(e1, e2));
 }
 
 @Test(groups="Integration") // because takes approx 2 seconds
@@ -93,7 +93,7 @@ public class CassandraDatacenterTest extends 
BrooklynAppUnitTestSupport {
 app.start(ImmutableList.of(loc));
 EmptySoftwareProcess e1 = (EmptySoftwareProcess) 
Iterables.get(cluster.getMembers(), 0);
 EmptySoftwareProcess e2 = (EmptySoftwareProcess) 
Iterables.get(cluster.getMembers(), 1);
-EntityTestUtils.assertAttributeEqualsEventually(cluster, 
CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.of(e1, e2));
+EntityAsserts.assertAttributeEqualsEventually(cluster, 
CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.of(e1, e2));
 log.debug("Test "+JavaClassNames.niceClassAndMethod()+", cluster 
"+cluster+" has "+cluster.getMembers()+"; e1="+e1+" e2="+e2);
 
 // calling the driver stop for this entity will cause SERVICE_UP to 
become false, and stay false
@@ -104,13 +104,13 @@ public class CassandraDatacenterTest extends 
BrooklynAppUnitTestSupport {
 if (fast)
 e1.sensors().set(Attributes.SERVICE_UP, false);
 
-EntityTestUtils.assertAttributeEqualsEventually(cluster, 
CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.of(e2));
+EntityAsserts.assertAttributeEqualsEventually(cluster, 
CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.of(e2));
 
 cluster.resize(3);
 EmptySoftwareProcess e3 = (EmptySoftwareProcess) 
Iterables.getOnlyElement(Sets.difference(ImmutableSet.copyOf(cluster.getMembers()),
 ImmutableSet.of(e1,e2)));
 log.debug("Test "+JavaClassNames.niceClassAndMethod()+", cluster 
"+cluster+" has "+cluster.getMembers()+"; e3="+e3);
 try {
-EntityTestUtils.assertAttributeEqualsEventually(cluster, 
CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.of(e2, e3));
+EntityAsserts.assertAttributeEqualsEventually(cluster, 

[07/13] brooklyn-library git commit: Use curl instead of wget in entities

2016-03-07 Thread heneveld
Use curl instead of wget in entities


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

Branch: refs/heads/master
Commit: 39ed6e4c6ebb4ef035737311b26abb9bb7eaf85b
Parents: cbb58b9
Author: Andrew Donald Kennedy 
Authored: Sat Mar 5 17:35:48 2016 +
Committer: Andrew Donald Kennedy 
Committed: Sun Mar 6 20:31:52 2016 +

--
 .../database/postgresql/PostgreSqlSshDriver.java  | 14 +++---
 .../entity/messaging/rabbit/RabbitSshDriver.java  | 18 +-
 .../network/bind/BindDnsServerSshDriver.java  |  4 ++--
 .../entity/nosql/riak/RiakNodeSshDriver.java  |  4 ++--
 .../entity/nosql/couchbase/pillowfight.yaml   |  8 +---
 5 files changed, 29 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/39ed6e4c/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlSshDriver.java
--
diff --git 
a/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlSshDriver.java
 
b/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlSshDriver.java
index 059c348..8abe795 100644
--- 
a/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlSshDriver.java
+++ 
b/software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlSshDriver.java
@@ -19,7 +19,7 @@
 package org.apache.brooklyn.entity.database.postgresql;
 
 import static java.lang.String.format;
-import static org.apache.brooklyn.util.ssh.BashCommands.INSTALL_WGET;
+import static org.apache.brooklyn.util.ssh.BashCommands.INSTALL_CURL;
 import static org.apache.brooklyn.util.ssh.BashCommands.alternativesGroup;
 import static org.apache.brooklyn.util.ssh.BashCommands.chainGroup;
 import static org.apache.brooklyn.util.ssh.BashCommands.dontRequireTtyForSudo;
@@ -216,17 +216,17 @@ public class PostgreSqlSshDriver extends 
AbstractSoftwareProcessSshDriver implem
 }
 
 return chainGroup(
-INSTALL_WGET,
-sudo(format("wget 
http://yum.postgresql.org/%s/redhat/rhel-%s-%s/pgdg-%s%s-%s.noarch.rpm;, 
majorMinorVersion, osMajorVersion, arch, osName, shortVersion, version)),
-sudo(format("rpm -Uvh pgdg-%s%s-%s.noarch.rpm", osName, 
shortVersion, version))
+INSTALL_CURL,
+sudo(format("curl 
http://yum.postgresql.org/%s/redhat/rhel-%s-%s/pgdg-%s%s-%s.noarch.rpm -o 
pgdg.rpm", majorMinorVersion, osMajorVersion, arch, osName, shortVersion, 
version)),
+sudo("rpm -Uvh pgdg.rpm")
 );
 }
 
 private String getAptRepository() {
 return chainGroup(
-INSTALL_WGET,
-"wget --quiet -O - 
http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo tee -a apt-key add 
-",
-"echo \"deb http://apt.postgresql.org/pub/repos/apt/   $(sudo 
lsb_release --codename --short)-pgdg main\" | sudo tee -a 
/etc/apt/sources.list.d/postgresql.list"
+INSTALL_CURL,
+"curl http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | 
sudo tee -a apt-key add",
+"echo \"deb http://apt.postgresql.org/pub/repos/apt/ $(sudo 
lsb_release --codename --short)-pgdg main\" | sudo tee -a 
/etc/apt/sources.list.d/postgresql.list"
 );
 }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/39ed6e4c/software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
--
diff --git 
a/software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
 
b/software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
index ad04d55..632bb05 100644
--- 
a/software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
+++ 
b/software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
@@ -19,7 +19,14 @@
 package org.apache.brooklyn.entity.messaging.rabbit;
 
 import static java.lang.String.format;
-import static org.apache.brooklyn.util.ssh.BashCommands.*;
+import static org.apache.brooklyn.util.ssh.BashCommands.INSTALL_CURL;
+import static org.apache.brooklyn.util.ssh.BashCommands.chainGroup;
+import static 
org.apache.brooklyn.util.ssh.BashCommands.commandsToDownloadUrlsAs;
+import static 

[01/13] brooklyn-library git commit: riak minor log fix

2016-03-07 Thread heneveld
Repository: brooklyn-library
Updated Branches:
  refs/heads/master 6efb209a4 -> a0e352de1


riak minor log fix


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

Branch: refs/heads/master
Commit: 6fe1f8807015625ff9bb2aab22f0b3130f87e451
Parents: 0576a6c
Author: Alex Heneveld 
Authored: Wed Feb 24 14:05:30 2016 -0800
Committer: Alex Heneveld 
Committed: Wed Feb 24 14:05:30 2016 -0800

--
 .../brooklyn/entity/nosql/riak/RiakNodeSshDriver.java  | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/6fe1f880/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
--
diff --git 
a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
 
b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index 65879a7..33f77f5 100644
--- 
a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ 
b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -22,13 +22,13 @@ import static java.lang.String.format;
 import static org.apache.brooklyn.util.ssh.BashCommands.INSTALL_CURL;
 import static org.apache.brooklyn.util.ssh.BashCommands.INSTALL_TAR;
 import static org.apache.brooklyn.util.ssh.BashCommands.addSbinPathCommand;
-import static org.apache.brooklyn.util.ssh.BashCommands.sbinPath;
 import static org.apache.brooklyn.util.ssh.BashCommands.alternatives;
 import static org.apache.brooklyn.util.ssh.BashCommands.chainGroup;
 import static org.apache.brooklyn.util.ssh.BashCommands.commandToDownloadUrlAs;
 import static org.apache.brooklyn.util.ssh.BashCommands.ifExecutableElse;
 import static org.apache.brooklyn.util.ssh.BashCommands.ifNotExecutable;
 import static org.apache.brooklyn.util.ssh.BashCommands.ok;
+import static org.apache.brooklyn.util.ssh.BashCommands.sbinPath;
 import static org.apache.brooklyn.util.ssh.BashCommands.sudo;
 import static 
org.apache.brooklyn.util.text.StringEscapes.BashStringEscapes.escapeLiteralForDoubleQuotedBash;
 
@@ -37,8 +37,6 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.brooklyn.api.location.OsDetails;
 import org.apache.brooklyn.core.effector.ssh.SshEffectorTasks;
 import org.apache.brooklyn.core.entity.Attributes;
@@ -53,6 +51,8 @@ import org.apache.brooklyn.util.net.Urls;
 import org.apache.brooklyn.util.os.Os;
 import org.apache.brooklyn.util.ssh.BashCommands;
 import org.apache.brooklyn.util.text.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Optional;
@@ -108,9 +108,10 @@ public class RiakNodeSshDriver extends 
JavaSoftwareProcessSshDriver implements R
 
 @Override
 public void install() {
-if (entity.getConfig(Attributes.DOWNLOAD_URL) != null) {
-LOG.warn("Ignoring download.url {}, use download.url.rhelcentos or 
download.url.mac", entity.getConfig(Attributes.DOWNLOAD_URL));
-}
+// TODO download URL can be inferred
+//if (entity.getConfig(Attributes.DOWNLOAD_URL) != null) {
+//LOG.warn("Ignoring download.url {}, use download.url.rhelcentos 
or download.url.mac", entity.getConfig(Attributes.DOWNLOAD_URL));
+//}
 
 OsDetails osDetails = getMachine().getMachineDetails().getOsDetails();
 List commands = Lists.newLinkedList();



[05/13] brooklyn-library git commit: MS SQL improvements

2016-03-07 Thread heneveld
MS SQL improvements

- catch possible failures on each step from the install


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

Branch: refs/heads/master
Commit: b5ae3421b861130b89fe3c2d5bf82a2f493dac41
Parents: cbb58b9
Author: Valentin Aitken 
Authored: Wed Mar 2 16:30:08 2016 +0200
Committer: Valentin Aitken 
Committed: Wed Mar 2 17:36:48 2016 +0200

--
 .../entity/database/mssql/installmssql.ps1  | 31 +---
 1 file changed, 20 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/b5ae3421/software/database/src/main/resources/org/apache/brooklyn/entity/database/mssql/installmssql.ps1
--
diff --git 
a/software/database/src/main/resources/org/apache/brooklyn/entity/database/mssql/installmssql.ps1
 
b/software/database/src/main/resources/org/apache/brooklyn/entity/database/mssql/installmssql.ps1
index a2ecda0..41bb75c 100644
--- 
a/software/database/src/main/resources/org/apache/brooklyn/entity/database/mssql/installmssql.ps1
+++ 
b/software/database/src/main/resources/org/apache/brooklyn/entity/database/mssql/installmssql.ps1
@@ -24,7 +24,21 @@ $Path = "C:\sql2008.iso"
 $Username = "${config['mssql.download.user']}"
 $Password = '${config['mssql.download.password']}'
 
+& winrm set winrm/config/service/auth '@{CredSSP="true"}'
+If ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
+
+& winrm set winrm/config/client/auth '@{CredSSP="true"}'
+If ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
+
+New-Item -ItemType Directory -Force -Path "C:\Program Files (x86)\Microsoft 
SQL Server\DReplayClient\ResultDir"
+New-Item -ItemType Directory -Force -Path "C:\Program Files (x86)\Microsoft 
SQL Server\DReplayClient\WorkingDir"
+
+$operationResult = Install-WindowsFeature NET-Framework-Core
+if (-Not $operationResult.Success) { exit 1 }
+
+$pass = '${attribute['windows.password']}'
 
+Try {
 $WebClient = New-Object System.Net.WebClient
 $WebClient.Credentials = New-Object System.Net.Networkcredential($Username, 
$Password)
 $WebClient.DownloadFile( $url, $path )
@@ -32,15 +46,6 @@ $WebClient.DownloadFile( $url, $path )
 $mountResult = Mount-DiskImage $Path -PassThru
 $driveLetter = (($mountResult | Get-Volume).DriveLetter) + ":\"
 
-New-Item -ItemType Directory -Force -Path "C:\Program Files (x86)\Microsoft 
SQL Server\DReplayClient\ResultDir"
-New-Item -ItemType Directory -Force -Path "C:\Program Files (x86)\Microsoft 
SQL Server\DReplayClient\WorkingDir"
-
-Install-WindowsFeature NET-Framework-Core
-
-& winrm set winrm/config/service/auth '@{CredSSP="true"}'
-& winrm set winrm/config/client/auth '@{CredSSP="true"}'
-
-$pass = '${attribute['windows.password']}'
 $secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
 $mycreds = New-Object System.Management.Automation.PSCredential 
($($env:COMPUTERNAME + "\${location.user}"), $secpasswd)
 
@@ -49,5 +54,9 @@ $exitCode = Invoke-Command -ComputerName $env:COMPUTERNAME 
-Credential $mycreds
 $process = Start-Process ( $driveLetter + "setup.exe") -ArgumentList 
"/ConfigurationFile=C:\ConfigurationFile.ini" -RedirectStandardOutput 
"C:\sqlout.txt" -RedirectStandardError "C:\sqlerr.txt" -Wait -PassThru 
-NoNewWindow
 $process.ExitCode
 } -Authentication CredSSP -ArgumentList $driveLetter
-
-exit $exitCode
+} Catch {
+ Write-Error $_.Exception
+ Write-Host 'Exception logged'
+ exit 1
+}
+exit $exitCode
\ No newline at end of file



[4/8] brooklyn-server git commit: fix local address used in tests to be loopback, for jmx

2016-03-07 Thread heneveld
fix local address used in tests to be loopback, for jmx


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

Branch: refs/heads/master
Commit: b2b096ae3d8ced26dae123f0794755715806e9b9
Parents: 2bdfb2d
Author: Alex Heneveld 
Authored: Sat Mar 5 15:14:09 2016 +
Committer: Alex Heneveld 
Committed: Sat Mar 5 15:14:09 2016 +

--
 .../test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java| 2 +-
 .../test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java  | 6 +++---
 .../java/org/apache/brooklyn/feed/jmx/RebindJmxFeedTest.java   | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b2b096ae/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
--
diff --git 
a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java 
b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
index d8df35b..424a927 100644
--- a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
@@ -113,7 +113,7 @@ public class JmxFeedTest {
 
 public static class TestEntityWithJmx extends TestEntityImpl {
 @Override public void init() {
-sensors().set(Attributes.HOSTNAME, "localhost");
+sensors().set(Attributes.HOSTNAME, JmxHelperTest.LOCALHOST_NAME);
 sensors().set(UsesJmx.JMX_PORT, 
 
LocalhostMachineProvisioningLocation.obtainPort(PortRanges.fromString(
 // just doing "40123+" was not enough to avoid 
collisions (on 40125),

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b2b096ae/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
--
diff --git 
a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java 
b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
index a78f49b..e818835 100644
--- 
a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
+++ 
b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
@@ -35,9 +35,7 @@ import javax.management.StandardEmitterMBean;
 
 import 
org.apache.brooklyn.entity.software.base.test.jmx.GeneralisedDynamicMBean;
 import org.apache.brooklyn.entity.software.base.test.jmx.JmxService;
-import org.apache.brooklyn.feed.jmx.JmxHelper;
 import org.apache.brooklyn.test.Asserts;
-import org.apache.brooklyn.test.TestUtils;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.jclouds.util.Throwables2;
@@ -56,7 +54,9 @@ public class JmxHelperTest {
 
 private static final Logger log = 
LoggerFactory.getLogger(JmxHelperTest.class);
 
-private static final String LOCALHOST_NAME = "localhost";
+// NB: "localhost" resolves to the public-facing IP often which on the 
occasional box
+// (eg ubuntu-us1 at apache) makes the ports not locally accessible.  so 
use loopback explicitly.
+static final String LOCALHOST_NAME = "127.0.0.1";
 
 private static final int TIMEOUT_MS = 5000;
 private static final int SHORT_WAIT_MS = 250;

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b2b096ae/software/base/src/test/java/org/apache/brooklyn/feed/jmx/RebindJmxFeedTest.java
--
diff --git 
a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/RebindJmxFeedTest.java
 
b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/RebindJmxFeedTest.java
index d16bef1..bc7d3c3 100644
--- 
a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/RebindJmxFeedTest.java
+++ 
b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/RebindJmxFeedTest.java
@@ -58,7 +58,7 @@ public class RebindJmxFeedTest extends 
RebindTestFixtureWithApp {
 
 private static final Logger log = 
LoggerFactory.getLogger(RebindJmxFeedTest.class);
 
-private static final String LOCALHOST_NAME = "localhost";
+private static final String LOCALHOST_NAME = JmxHelperTest.LOCALHOST_NAME;
 
 static final AttributeSensor SENSOR_STRING = 
Sensors.newStringSensor("aString", "");
 static final AttributeSensor SENSOR_INT = 
Sensors.newIntegerSensor( "aLong", "");



[2/8] brooklyn-server git commit: remove transient as per code review

2016-03-07 Thread heneveld
remove transient as per code review


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

Branch: refs/heads/master
Commit: a281feb5caa773f6d365f9a57ffc114bb72ef1ee
Parents: be08866
Author: Alex Heneveld 
Authored: Fri Mar 4 22:25:50 2016 +
Committer: Alex Heneveld 
Committed: Fri Mar 4 22:25:50 2016 +

--
 .../software/base/lifecycle/MachineLifecycleEffectorTasks.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a281feb5/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
--
diff --git 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
index 844da16..7e755a5 100644
--- 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
+++ 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
@@ -124,7 +124,7 @@ public abstract class MachineLifecycleEffectorTasks {
 public static final ConfigKey STOP_PROCESS_TIMEOUT = 
ConfigKeys.newConfigKey(Duration.class,
 "process.stop.timeout", "How long to wait for the processes to be 
stopped; use null to mean forever", Duration.TWO_MINUTES);
 
-protected final transient MachineInitTasks machineInitTasks = new 
MachineInitTasks();
+protected final MachineInitTasks machineInitTasks = new MachineInitTasks();
 
 /** Attaches lifecycle effectors (start, restart, stop) to the given 
entity post-creation. */
 public void attachLifecycleEffectors(Entity entity) {



[1/8] brooklyn-server git commit: minor code cleanup

2016-03-07 Thread heneveld
Repository: brooklyn-server
Updated Branches:
  refs/heads/master 975a59993 -> 1f1593289


minor code cleanup

vaguely significant items:
* make INSTALL_DIR avail as a shell env var when doing customize and launch
* make MachineInitTasks transient, in case the outer class is ever serialized 
(it shouldn't be but it seems that it is)


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

Branch: refs/heads/master
Commit: be08866bbf1e64b078d51d823968c75a81184ed0
Parents: 1370ee6
Author: Alex Heneveld 
Authored: Fri Mar 4 13:31:05 2016 +
Committer: Alex Heneveld 
Committed: Fri Mar 4 13:32:55 2016 +

--
 .../core/catalog/internal/BasicBrooklynCatalog.java   |  2 +-
 .../base/AbstractSoftwareProcessSshDriver.java|  1 +
 .../base/VanillaSoftwareProcessSshDriver.java |  1 -
 .../base/lifecycle/MachineLifecycleEffectorTasks.java |  4 ++--
 .../entity/software/base/lifecycle/ScriptHelper.java  | 14 --
 5 files changed, 12 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/be08866b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
--
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
index 34b905b..c259ca3 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
@@ -354,7 +354,7 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
 value = map.get(foundKey);
 if (type.equals(String.class) && Number.class.isInstance(value)) value 
= value.toString();
 if (!type.isInstance(value)) 
-throw new IllegalArgumentException("Entry for '"+firstKey+"' 
should be of type "+type+", not "+value.getClass());
+throw new IllegalArgumentException("Entry for '"+firstKey+"' 
should be of type "+type+", not "+(value==null ? "null" : value.getClass()));
 return Maybe.of((T)value);
 }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/be08866b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java
--
diff --git 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java
 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java
index f9ca7ff..e8377fe 100644
--- 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java
+++ 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java
@@ -557,6 +557,7 @@ public abstract class AbstractSoftwareProcessSshDriver 
extends AbstractSoftwareP
 }
 if (ImmutableSet.of(CUSTOMIZING, LAUNCHING, CHECK_RUNNING, 
STOPPING, KILLING, RESTARTING).contains(phase)) {
 s.header.append(
+"export INSTALL_DIR=\""+getInstallDir()+"\"",
 "export RUN_DIR=\""+getRunDir()+"\"",
 "mkdir -p $RUN_DIR",
 "cd $RUN_DIR"

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/be08866b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java
--
diff --git 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java
 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java
index 9c955ed..f54e144 100644
--- 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java
+++ 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java
@@ -126,7 +126,6 @@ public class VanillaSoftwareProcessSshDriver extends 
AbstractSoftwareProcessSshD
 if (downloadedFilename != null) {
 newScript(CUSTOMIZING)
 .failOnNonZeroResultCode()
-// don't set vars yet -- it resolves dependencies (e.g. 
DB) which we don't want until we start