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/10 12:25:04 UTC
[1/7] incubator-brooklyn git commit: EC2 CentOS 6.3 test:
openIptables=true
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master 7804628d2 -> 3610d8a5f
EC2 CentOS 6.3 test: openIptables=true
- The AMI has iptables locked down; need to open iptables for the
jclouds “open ports”. Otherwise things like JBoss7 live test fails.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6e1ec726
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6e1ec726
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6e1ec726
Branch: refs/heads/master
Commit: 6e1ec7260328342925fd565b05ec9980c8835ee8
Parents: 94db5ff
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 6 13:38:00 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 6 13:38:00 2014 +0000
----------------------------------------------------------------------
.../base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6e1ec726/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java b/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
index 64db32d..9490c98 100644
--- a/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
+++ b/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
@@ -25,6 +25,7 @@ import org.testng.annotations.Test;
import brooklyn.config.BrooklynProperties;
import brooklyn.location.Location;
+import brooklyn.location.jclouds.JcloudsLocation;
import brooklyn.location.jclouds.JcloudsLocationConfig;
import brooklyn.test.entity.LocalManagementContextForTests;
import brooklyn.util.collections.MutableMap;
@@ -100,8 +101,9 @@ public abstract class AbstractEc2LiveTest extends BrooklynAppLiveTestSupport {
@Test(groups = {"Live"})
public void test_CentOS_6_3() throws Exception {
+ // TODO Should openIptables=true be the default?!
// Image: {id=us-east-1/ami-a96b01c0, providerId=ami-a96b01c0, name=CentOS-6.3-x86_64-GA-EBS-02-85586466-5b6c-4495-b580-14f72b4bcf51-ami-bb9af1d2.1, location={scope=REGION, id=us-east-1, description=us-east-1, parent=aws-ec2, iso3166Codes=[US-VA]}, os={family=centos, arch=paravirtual, version=6.3, description=aws-marketplace/CentOS-6.3-x86_64-GA-EBS-02-85586466-5b6c-4495-b580-14f72b4bcf51-ami-bb9af1d2.1, is64Bit=true}, description=CentOS-6.3-x86_64-GA-EBS-02 on EBS x86_64 20130527:1219, version=bb9af1d2.1, status=AVAILABLE[available], loginUser=root, userMetadata={owner=679593333241, rootDeviceType=ebs, virtualizationType=paravirtual, hypervisor=xen}})
- runTest(ImmutableMap.of("imageId", "us-east-1/ami-a96b01c0", "hardwareId", SMALL_HARDWARE_ID));
+ runTest(ImmutableMap.of("imageId", "us-east-1/ami-a96b01c0", "hardwareId", SMALL_HARDWARE_ID, JcloudsLocation.OPEN_IPTABLES.getName(), true));
}
@Test(groups = {"Live"})
[6/7] incubator-brooklyn git commit: More logging for failing
BindDnsServerIntegrationTest
Posted by al...@apache.org.
More logging for failing BindDnsServerIntegrationTest
- Fails non-deterministically on jenkins; can’t reproduce locally.
Therefore adding logging to dump out a copy of the persistence dir,
as it was at the point of rebind.
- Also terminates the old management context.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/8e2c5480
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/8e2c5480
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/8e2c5480
Branch: refs/heads/master
Commit: 8e2c548080ffe98ea53ff7be88011d853bc0f922
Parents: bfdfd32
Author: Aled Sage <al...@gmail.com>
Authored: Fri Nov 7 08:24:33 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Nov 10 11:23:56 2014 +0000
----------------------------------------------------------------------
.../bind/BindDnsServerIntegrationTest.java | 51 +++++++++++---------
1 file changed, 29 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8e2c5480/software/network/src/test/java/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/network/src/test/java/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java b/software/network/src/test/java/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
index 4d785ba..f6f9fd8 100644
--- a/software/network/src/test/java/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
+++ b/software/network/src/test/java/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
@@ -34,7 +34,6 @@ import brooklyn.entity.basic.ApplicationBuilder;
import brooklyn.entity.basic.Attributes;
import brooklyn.entity.basic.EmptySoftwareProcess;
import brooklyn.entity.basic.Entities;
-import brooklyn.entity.basic.StartableApplication;
import brooklyn.entity.group.DynamicCluster;
import brooklyn.entity.proxying.EntitySpec;
import brooklyn.entity.rebind.RebindTestFixture;
@@ -44,14 +43,14 @@ import brooklyn.policy.EnricherSpec;
import brooklyn.test.EntityTestUtils;
import brooklyn.test.entity.TestApplication;
-public class BindDnsServerIntegrationTest extends RebindTestFixture {
+public class BindDnsServerIntegrationTest extends RebindTestFixture<TestApplication> {
private static final Logger LOG = LoggerFactory.getLogger(BindDnsServerIntegrationTest.class);
private BindDnsServer dns;
private DynamicCluster cluster;
@Override
- protected StartableApplication createApp() {
+ protected TestApplication createApp() {
TestApplication app = ApplicationBuilder.newManagedApp(TestApplication.class, origManagementContext);
dns = app.createAndManageChild(EntitySpec.create(BindDnsServer.class, TestBindDnsServerImpl.class)
.configure(BindDnsServer.ENTITY_FILTER, Predicates.instanceOf(EmptySoftwareProcess.class))
@@ -66,31 +65,39 @@ public class BindDnsServerIntegrationTest extends RebindTestFixture {
return app;
}
- @Test(groups = "Integration")
- public void testRebindDns() throws Exception {
+ @Test(invocationCount=1, groups = "Integration")
+ public void testRebindDns() throws Throwable {
LocationSpec.create(LocalhostMachineProvisioningLocation.class);
origApp.start(ImmutableList.of(new LocalhostMachineProvisioningLocation()));
logDnsMappings();
assertEquals(dns.getAttribute(BindDnsServer.ADDRESS_MAPPINGS).keySet().size(), 1);
assertMapSizes(3, 1, 2, 1);
- rebind(false);
- dns = (BindDnsServer) Iterables.getOnlyElement(Iterables.filter(newApp.getChildren(), Predicates.instanceOf(BindDnsServer.class)));
- cluster = (DynamicCluster) Iterables.getOnlyElement(Iterables.filter(newApp.getChildren(), Predicates.instanceOf(DynamicCluster.class)));
-
- // assert original attributes restored and the server can be updated.
- logDnsMappings();
- assertMapSizes(3, 1, 2, 1);
- cluster.resize(1);
- assertDnsEntityEventuallyHasActiveMembers(1);
- logDnsMappings();
- EntityTestUtils.assertAttributeEqualsEventually(cluster, DynamicCluster.GROUP_SIZE, 1);
- assertMapSizes(1, 1, 0, 1);
- cluster.resize(5);
- assertDnsEntityEventuallyHasActiveMembers(5);
- logDnsMappings();
- EntityTestUtils.assertAttributeEqualsEventually(cluster, DynamicCluster.GROUP_SIZE, 5);
- assertMapSizes(5, 1, 4, 1);
+ rebind(false, true, mementoDirBackup);
+ try {
+ dns = (BindDnsServer) Iterables.getOnlyElement(Iterables.filter(newApp.getChildren(), Predicates.instanceOf(BindDnsServer.class)));
+ cluster = (DynamicCluster) Iterables.getOnlyElement(Iterables.filter(newApp.getChildren(), Predicates.instanceOf(DynamicCluster.class)));
+
+ // assert original attributes restored and the server can be updated.
+ logDnsMappings();
+ assertMapSizes(3, 1, 2, 1);
+ cluster.resize(1);
+ assertDnsEntityEventuallyHasActiveMembers(1);
+ logDnsMappings();
+ EntityTestUtils.assertAttributeEqualsEventually(cluster, DynamicCluster.GROUP_SIZE, 1);
+ assertMapSizes(1, 1, 0, 1);
+ cluster.resize(5);
+ assertDnsEntityEventuallyHasActiveMembers(5);
+ logDnsMappings();
+ EntityTestUtils.assertAttributeEqualsEventually(cluster, DynamicCluster.GROUP_SIZE, 5);
+ assertMapSizes(5, 1, 4, 1);
+ } catch (Throwable t) {
+ // Failing in jenkins occassionally; don't know why and can't reproduce.
+ // Therefore dumping out lots more info on failure.
+ LOG.error("Test failed; dumping out contents of original persistence dir used for rebind...", t);
+ dumpMementoDir(mementoDirBackup);
+ throw t;
+ }
}
@Test(groups = "Integration")
[4/7] incubator-brooklyn git commit: entity.getAllAttributes() return
everything
Posted by al...@apache.org.
entity.getAllAttributes() return everything
- Even if the AttributeSensor is unknown for a given key name, still
return it.
- There’s a race where persister thread calls getAllAttributes() at
same time as new attribute type is being added to entityType.
Previously the sensor was not returned, so was not persisted.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/48c7b447
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/48c7b447
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/48c7b447
Branch: refs/heads/master
Commit: 48c7b447a5cf9d29527289a5c2e6f40821fb7196
Parents: 69e2f86
Author: Aled Sage <al...@gmail.com>
Authored: Fri Nov 7 08:19:53 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Fri Nov 7 08:19:53 2014 +0000
----------------------------------------------------------------------
.../java/brooklyn/entity/basic/AbstractEntity.java | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/48c7b447/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
index c5ca83a..4590990 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
@@ -55,6 +55,7 @@ import brooklyn.event.SensorEventListener;
import brooklyn.event.basic.AttributeMap;
import brooklyn.event.basic.AttributeSensorAndConfigKey;
import brooklyn.event.basic.BasicNotificationSensor;
+import brooklyn.event.basic.Sensors;
import brooklyn.event.feed.AbstractFeed;
import brooklyn.event.feed.ConfigToAttributes;
import brooklyn.internal.BrooklynFeatureEnablement;
@@ -1032,12 +1033,16 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
Map<AttributeSensor, Object> result = Maps.newLinkedHashMap();
Map<String, Object> attribs = attributesInternal.asMap();
for (Map.Entry<String,Object> entry : attribs.entrySet()) {
- AttributeSensor attribKey = (AttributeSensor) entityType.getSensor(entry.getKey());
+ AttributeSensor<?> attribKey = (AttributeSensor<?>) entityType.getSensor(entry.getKey());
if (attribKey == null) {
- LOG.warn("When retrieving all attributes of {}, ignoring attribute {} because no matching AttributeSensor found", this, entry.getKey());
- } else {
- result.put(attribKey, entry.getValue());
+ // Most likely a race: e.g. persister thread calling getAllAttributes; writer thread
+ // has written attribute value and is in process of calling entityType.addSensorIfAbsent(attribute)
+ // Just use a synthetic AttributeSensor, rather than ignoring value.
+ // TODO If it's not a race, then don't log.warn every time!
+ LOG.warn("When retrieving all attributes of {}, no AttributeSensor for attribute {} (creating synthetic)", this, entry.getKey());
+ attribKey = Sensors.newSensor(Object.class, entry.getKey());
}
+ result.put(attribKey, entry.getValue());
}
return result;
}
[7/7] incubator-brooklyn git commit: This closes #308
Posted by al...@apache.org.
This closes #308
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/3610d8a5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/3610d8a5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/3610d8a5
Branch: refs/heads/master
Commit: 3610d8a5f448f6457f98dd5a97ba10f51bc6f8f1
Parents: 7804628 8e2c548
Author: Aled Sage <al...@gmail.com>
Authored: Mon Nov 10 11:24:49 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Nov 10 11:24:49 2014 +0000
----------------------------------------------------------------------
.../brooklyn/entity/basic/AbstractEntity.java | 13 ++--
.../main/java/brooklyn/util/task/BasicTask.java | 2 +
.../entity/rebind/RebindTestFixture.java | 63 +++++++++++++++++++-
.../brooklyn/entity/AbstractEc2LiveTest.java | 4 +-
.../bind/BindDnsServerIntegrationTest.java | 51 +++++++++-------
.../webapp/nodejs/NodeJsWebAppEc2LiveTest.java | 13 +---
.../nodejs/NodeJsWebAppSoftlayerLiveTest.java | 13 +---
7 files changed, 110 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
[5/7] incubator-brooklyn git commit: RebindTestFixture: support for
dumping mementoDir
Posted by al...@apache.org.
RebindTestFixture: support for dumping mementoDir
- Create a mementoDirBackup field, in case wants to be used by
sub-classes.
- Adds dumpMementoDir(File dir)
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/bfdfd327
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/bfdfd327
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/bfdfd327
Branch: refs/heads/master
Commit: bfdfd327d52b01d55d4c549aa0ff0a475295651c
Parents: 48c7b44
Author: Aled Sage <al...@gmail.com>
Authored: Fri Nov 7 08:24:19 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Nov 10 11:23:56 2014 +0000
----------------------------------------------------------------------
.../entity/rebind/RebindTestFixture.java | 63 +++++++++++++++++++-
1 file changed, 61 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bfdfd327/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
index 60d245a..fb4e286 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
@@ -21,6 +21,8 @@ package brooklyn.entity.rebind;
import static org.testng.Assert.assertEquals;
import java.io.File;
+import java.util.List;
+import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
@@ -30,6 +32,7 @@ import org.testng.annotations.BeforeMethod;
import brooklyn.catalog.BrooklynCatalog;
import brooklyn.catalog.CatalogItem;
+import brooklyn.config.BrooklynProperties;
import brooklyn.entity.basic.Entities;
import brooklyn.entity.basic.EntityFunctions;
import brooklyn.entity.basic.StartableApplication;
@@ -41,11 +44,17 @@ import brooklyn.management.ha.HighAvailabilityMode;
import brooklyn.management.internal.LocalManagementContext;
import brooklyn.management.internal.ManagementContextInternal;
import brooklyn.mementos.BrooklynMementoManifest;
+import brooklyn.mementos.BrooklynMementoRawData;
+import brooklyn.test.entity.LocalManagementContextForTests;
+import brooklyn.util.io.FileUtil;
import brooklyn.util.os.Os;
+import brooklyn.util.text.Identifiers;
import brooklyn.util.time.Duration;
import com.google.api.client.util.Sets;
+import com.google.common.annotations.Beta;
import com.google.common.collect.FluentIterable;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
public abstract class RebindTestFixture<T extends StartableApplication> {
@@ -57,6 +66,7 @@ public abstract class RebindTestFixture<T extends StartableApplication> {
protected ClassLoader classLoader = getClass().getClassLoader();
protected LocalManagementContext origManagementContext;
protected File mementoDir;
+ protected File mementoDirBackup;
protected T origApp;
protected T newApp;
@@ -65,6 +75,9 @@ public abstract class RebindTestFixture<T extends StartableApplication> {
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
mementoDir = Os.newTempDir(getClass());
+ File mementoDirParent = mementoDir.getParentFile();
+ mementoDirBackup = new File(mementoDirParent, mementoDir.getName()+"."+Identifiers.makeRandomId(4)+".bak");
+
origManagementContext = createOrigManagementContext();
origApp = createApp();
@@ -114,9 +127,44 @@ public abstract class RebindTestFixture<T extends StartableApplication> {
if (origManagementContext != null) Entities.destroyAll(origManagementContext);
if (mementoDir != null) FileBasedObjectStore.deleteCompletely(mementoDir);
+ if (mementoDirBackup != null) FileBasedObjectStore.deleteCompletely(mementoDir);
origManagementContext = null;
}
+ /**
+ * Dumps out the persisted mementos that are at the given directory.
+ *
+ * Binds to the persisted state (as a "hot standby") to load the raw data (as strings), and to write out the
+ * entity, location, policy, enricher, feed and catalog-item data.
+ *
+ * @param dir The directory containing the persisted state (e.g. {@link #mementoDir} or {@link #mementoDirBackup})
+ */
+ protected void dumpMementoDir(File dir) {
+ LocalManagementContextForTests mgmt = new LocalManagementContextForTests(BrooklynProperties.Factory.newEmpty());
+ FileBasedObjectStore store = null;
+ BrooklynMementoPersisterToObjectStore persister = null;
+ try {
+ store = new FileBasedObjectStore(dir);
+ store.injectManagementContext(mgmt);
+ store.prepareForSharedUse(PersistMode.AUTO, HighAvailabilityMode.HOT_STANDBY);
+ persister = new BrooklynMementoPersisterToObjectStore(store, BrooklynProperties.Factory.newEmpty(), classLoader);
+ BrooklynMementoRawData data = persister.loadMementoRawData(RebindExceptionHandlerImpl.builder().build());
+ List<BrooklynObjectType> types = ImmutableList.of(BrooklynObjectType.ENTITY, BrooklynObjectType.LOCATION,
+ BrooklynObjectType.POLICY, BrooklynObjectType.ENRICHER, BrooklynObjectType.FEED,
+ BrooklynObjectType.CATALOG_ITEM);
+ for (BrooklynObjectType type : types) {
+ LOG.info(type+" ("+data.getObjectsOfType(type).keySet()+"):");
+ for (Map.Entry<String, String> entry : data.getObjectsOfType(type).entrySet()) {
+ LOG.info("\t"+type+" "+entry.getKey()+": "+entry.getValue());
+ }
+ }
+ } finally {
+ if (persister != null) persister.stop(false);
+ if (store != null) store.close();
+ mgmt.terminate();
+ }
+ }
+
/** rebinds, and sets newApp */
protected T rebind() throws Exception {
return rebind(true);
@@ -133,9 +181,15 @@ public abstract class RebindTestFixture<T extends StartableApplication> {
// TODO What are sensible defaults?!
return rebind(checkSerializable, false);
}
-
+
@SuppressWarnings("unchecked")
protected T rebind(boolean checkSerializable, boolean terminateOrigManagementContext) throws Exception {
+ return rebind(checkSerializable, terminateOrigManagementContext, (File)null);
+ }
+
+ @Beta // temporary method while debugging; Aled will refactor all of this soon!
+ @SuppressWarnings("unchecked")
+ protected T rebind(boolean checkSerializable, boolean terminateOrigManagementContext, File backupDir) throws Exception {
if (newApp!=null || newManagementContext!=null) throw new IllegalStateException("already rebound");
RebindTestUtils.waitForPersisted(origApp);
@@ -145,7 +199,12 @@ public abstract class RebindTestFixture<T extends StartableApplication> {
if (terminateOrigManagementContext) {
origManagementContext.terminate();
}
-
+
+ if (backupDir != null) {
+ FileUtil.copyDir(mementoDir, backupDir);
+ FileUtil.setFilePermissionsTo700(backupDir);
+ }
+
newManagementContext = createNewManagementContext();
newApp = (T) RebindTestUtils.rebind((LocalManagementContext)newManagementContext, classLoader);
return newApp;
[3/7] incubator-brooklyn git commit: TaskFinalizer: add TODO about
logging
Posted by al...@apache.org.
TaskFinalizer: add TODO about logging
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/69e2f865
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/69e2f865
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/69e2f865
Branch: refs/heads/master
Commit: 69e2f86501a5b4b9397d4aa5db96e89abfada40b
Parents: 6416575
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 6 13:41:13 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 6 13:41:13 2014 +0000
----------------------------------------------------------------------
core/src/main/java/brooklyn/util/task/BasicTask.java | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/69e2f865/core/src/main/java/brooklyn/util/task/BasicTask.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/BasicTask.java b/core/src/main/java/brooklyn/util/task/BasicTask.java
index c478336..e666680 100644
--- a/core/src/main/java/brooklyn/util/task/BasicTask.java
+++ b/core/src/main/java/brooklyn/util/task/BasicTask.java
@@ -756,6 +756,8 @@ public class BasicTask<T> implements TaskInternal<T> {
}
if (!t.isDone()) {
// shouldn't happen
+ // TODO But does happen if management context was terminated (e.g. running test suite).
+ // Should check if Execution Manager is running, and only log if it was not terminated?
log.warn("Task "+t+" is being finalized before completion");
return;
}
[2/7] incubator-brooklyn git commit: Fix NodeJs live tests: don’t assert REQUEST_COUNT
Posted by al...@apache.org.
Fix NodeJs live tests: don’t assert REQUEST_COUNT
- attributes like REQUEST_COUNT are not set for NodeJs, so don’t
assert that they are non-null
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6416575d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6416575d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6416575d
Branch: refs/heads/master
Commit: 6416575da12c739052c473ef29077d93edc17b39
Parents: 6e1ec72
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 6 13:38:38 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 6 13:38:38 2014 +0000
----------------------------------------------------------------------
.../entity/webapp/nodejs/NodeJsWebAppEc2LiveTest.java | 13 +++----------
.../webapp/nodejs/NodeJsWebAppSoftlayerLiveTest.java | 13 +++----------
2 files changed, 6 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6416575d/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppEc2LiveTest.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppEc2LiveTest.java b/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppEc2LiveTest.java
index ac8e32d..b2b5937 100644
--- a/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppEc2LiveTest.java
+++ b/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppEc2LiveTest.java
@@ -18,15 +18,15 @@
*/
package brooklyn.entity.webapp.nodejs;
-import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.*;
-import static org.testng.Assert.assertNotNull;
+import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.APP_FILE;
+import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.APP_NAME;
+import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.GIT_REPO_URL;
import org.testng.annotations.Test;
import brooklyn.entity.AbstractEc2LiveTest;
import brooklyn.entity.proxying.EntitySpec;
import brooklyn.location.Location;
-import brooklyn.test.Asserts;
import brooklyn.test.HttpTestUtils;
import com.google.common.collect.ImmutableList;
@@ -49,13 +49,6 @@ public class NodeJsWebAppEc2LiveTest extends AbstractEc2LiveTest {
HttpTestUtils.assertHttpStatusCodeEventuallyEquals(url, 200);
HttpTestUtils.assertContentContainsText(url, "Hello");
-
- Asserts.succeedsEventually(new Runnable() {
- @Override public void run() {
- assertNotNull(server.getAttribute(NodeJsWebAppService.REQUEST_COUNT));
- assertNotNull(server.getAttribute(NodeJsWebAppService.ERROR_COUNT));
- assertNotNull(server.getAttribute(NodeJsWebAppService.TOTAL_PROCESSING_TIME));
- }});
}
@Test(groups = {"Live", "Live-sanity"})
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6416575d/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppSoftlayerLiveTest.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppSoftlayerLiveTest.java b/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppSoftlayerLiveTest.java
index ce4de92..ae87086 100644
--- a/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppSoftlayerLiveTest.java
+++ b/software/webapp/src/test/java/brooklyn/entity/webapp/nodejs/NodeJsWebAppSoftlayerLiveTest.java
@@ -18,15 +18,15 @@
*/
package brooklyn.entity.webapp.nodejs;
-import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.*;
-import static org.testng.Assert.assertNotNull;
+import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.APP_FILE;
+import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.APP_NAME;
+import static brooklyn.entity.webapp.nodejs.NodeJsWebAppFixtureIntegrationTest.GIT_REPO_URL;
import org.testng.annotations.Test;
import brooklyn.entity.AbstractSoftlayerLiveTest;
import brooklyn.entity.proxying.EntitySpec;
import brooklyn.location.Location;
-import brooklyn.test.Asserts;
import brooklyn.test.HttpTestUtils;
import com.google.common.collect.ImmutableList;
@@ -49,13 +49,6 @@ public class NodeJsWebAppSoftlayerLiveTest extends AbstractSoftlayerLiveTest {
HttpTestUtils.assertHttpStatusCodeEventuallyEquals(url, 200);
HttpTestUtils.assertContentContainsText(url, "Hello");
-
- Asserts.succeedsEventually(new Runnable() {
- @Override public void run() {
- assertNotNull(server.getAttribute(NodeJsWebAppService.REQUEST_COUNT));
- assertNotNull(server.getAttribute(NodeJsWebAppService.ERROR_COUNT));
- assertNotNull(server.getAttribute(NodeJsWebAppService.TOTAL_PROCESSING_TIME));
- }});
}
@Test(groups = {"Live", "Live-sanity"})