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/14 00:12:47 UTC
[1/8] incubator-brooklyn git commit: Fix MemoryUsageTrackerTest
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master 6791d51d4 -> 8e0e1b4aa
Fix MemoryUsageTrackerTest
- was non-deterministic (asserting memory usage immediately, before
listener had been called by GC)
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/eb575571
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/eb575571
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/eb575571
Branch: refs/heads/master
Commit: eb57557146b371ad0745d6d1c271a3ecd33a6c6b
Parents: 374a9db
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 10:56:17 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:04:25 2014 +0000
----------------------------------------------------------------------
.../util/javalang/MemoryUsageTrackerTest.java | 42 +++++++++++++++-----
1 file changed, 32 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/eb575571/utils/common/src/test/java/brooklyn/util/javalang/MemoryUsageTrackerTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/brooklyn/util/javalang/MemoryUsageTrackerTest.java b/utils/common/src/test/java/brooklyn/util/javalang/MemoryUsageTrackerTest.java
index 24f101b..747abc5 100644
--- a/utils/common/src/test/java/brooklyn/util/javalang/MemoryUsageTrackerTest.java
+++ b/utils/common/src/test/java/brooklyn/util/javalang/MemoryUsageTrackerTest.java
@@ -20,35 +20,57 @@ package brooklyn.util.javalang;
import java.util.List;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.Test;
+import brooklyn.test.Asserts;
import brooklyn.util.collections.MutableList;
import brooklyn.util.guava.Maybe;
import brooklyn.util.text.Strings;
public class MemoryUsageTrackerTest {
+ private static final Logger LOG = LoggerFactory.getLogger(MemoryUsageTrackerTest.class);
+
@Test(groups="Integration")
public void testBigUsage() {
+ final int ALLOCATION_CHUNK_SIZE = 10*1000*1000; // 10MB
+
+ // Don't just use runtime.maxMemory()*2; javadoc says:
+ // If there is no inherent limit then the value java.lang.Long.MAX_VALUE will be returned.
+ // Therefore cap at 10GB.
+ final long MAX_MEMORY_CAP = 10*1024*1024*1024L; // 10GB
+ final long maxMemory = Math.min(Runtime.getRuntime().maxMemory(), MAX_MEMORY_CAP);
+
List<Maybe<byte[]>> references = MutableList.of();
long created = 0;
- while (created < 2*Runtime.getRuntime().maxMemory()) {
- byte d[] = new byte[1000000];
+ while (created < 2*maxMemory) {
+ byte d[] = new byte[ALLOCATION_CHUNK_SIZE];
references.add(Maybe.soft(d));
MemoryUsageTracker.SOFT_REFERENCES.track(d, d.length);
created += d.length;
- System.out.println("created "+Strings.makeSizeString(created) +
- " ... in use: "+Strings.makeSizeString(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())+" / " +
- Strings.makeSizeString(Runtime.getRuntime().totalMemory()) +
- " ... reclaimable: "+Strings.makeSizeString(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed()) +
- " ... live refs: "+Strings.makeSizeString(sizeOfActiveReferences(references)));
+ long totalMemory = Runtime.getRuntime().totalMemory();
+ long freeMemory = Runtime.getRuntime().freeMemory();
- assertLessThan(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed(), Runtime.getRuntime().maxMemory());
- assertLessThan(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed(), Runtime.getRuntime().totalMemory());
- assertLessThan(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed(), Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory());
+ LOG.info("created "+Strings.makeSizeString(created) +
+ " ... in use: "+Strings.makeSizeString(totalMemory - freeMemory)+" / " +
+ Strings.makeSizeString(totalMemory) +
+ " ... reclaimable: "+Strings.makeSizeString(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed()) +
+ " ... live refs: "+Strings.makeSizeString(sizeOfActiveReferences(references)) +
+ " ... maxMem="+maxMemory+"; totalMem="+totalMemory+"; usedMem="+(totalMemory-freeMemory));
}
+
+ Asserts.succeedsEventually(new Runnable() {
+ public void run() {
+ long totalMemory = Runtime.getRuntime().totalMemory();
+ long freeMemory = Runtime.getRuntime().freeMemory();
+ assertLessThan(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed(), maxMemory);
+ assertLessThan(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed(), totalMemory);
+ assertLessThan(MemoryUsageTracker.SOFT_REFERENCES.getBytesUsed(), totalMemory - freeMemory);
+ }});
}
private long sizeOfActiveReferences(List<Maybe<byte[]>> references) {
[5/8] incubator-brooklyn git commit: BROOKLYN-85: fix
FixedListMachineProvisioningLocationTest
Posted by al...@apache.org.
BROOKLYN-85: fix FixedListMachineProvisioningLocationTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/3a98a9a1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/3a98a9a1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/3a98a9a1
Branch: refs/heads/master
Commit: 3a98a9a12252371875f7b0636f24c7da370dab88
Parents: 716ca46
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 13:19:51 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:10:04 2014 +0000
----------------------------------------------------------------------
.../location/basic/FixedListMachineProvisioningLocationTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3a98a9a1/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationTest.java b/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationTest.java
index 93baa0c..72ec433 100644
--- a/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationTest.java
+++ b/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationTest.java
@@ -219,7 +219,7 @@ public class FixedListMachineProvisioningLocationTest {
// So no machines left; cannot re-obtain
try {
- SshMachineLocation obtained2 = provisioner2.obtain();
+ SshMachineLocation obtained2 = provisioner.obtain();
fail("obtained="+obtained2);
} catch (NoMachinesAvailableException e) {
// success
[6/8] incubator-brooklyn git commit: Fix SshCommandIntegrationTest
Posted by al...@apache.org.
Fix SshCommandIntegrationTest
- Change sensor period to 100ms, from default 5 mins.
Otherwise if first poll happens before serviceUp=true, it will
timeout in 30 seconds without a second poll.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/4de878cc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/4de878cc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/4de878cc
Branch: refs/heads/master
Commit: 4de878ccc4723ecf27069ff6b177576355bc1b98
Parents: d21654c
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 12:48:59 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:10:04 2014 +0000
----------------------------------------------------------------------
.../software/ssh/SshCommandIntegrationTest.java | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4de878cc/software/base/src/test/java/brooklyn/entity/software/ssh/SshCommandIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/brooklyn/entity/software/ssh/SshCommandIntegrationTest.java b/software/base/src/test/java/brooklyn/entity/software/ssh/SshCommandIntegrationTest.java
index 09af6c2..c3358f2 100644
--- a/software/base/src/test/java/brooklyn/entity/software/ssh/SshCommandIntegrationTest.java
+++ b/software/base/src/test/java/brooklyn/entity/software/ssh/SshCommandIntegrationTest.java
@@ -36,11 +36,13 @@ import brooklyn.entity.proxying.EntitySpec;
import brooklyn.event.AttributeSensor;
import brooklyn.event.basic.Sensors;
import brooklyn.location.Location;
-import brooklyn.test.Asserts;
+import brooklyn.location.basic.SshMachineLocation;
+import brooklyn.test.EntityTestUtils;
import brooklyn.test.entity.TestApplication;
import brooklyn.test.entity.TestEntity;
import brooklyn.util.collections.MutableMap;
import brooklyn.util.config.ConfigBag;
+import brooklyn.util.time.Duration;
import com.google.common.collect.ImmutableList;
@@ -51,12 +53,14 @@ public class SshCommandIntegrationTest {
final static Effector<String> EFFECTOR_SAY_HI = Effectors.effector(String.class, "sayHi").buildAbstract();
private TestApplication app;
+ private SshMachineLocation machine;
private EntityLocal entity;
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
app = TestApplication.Factory.newManagedInstanceForTests();
- entity = app.createAndManageChild(EntitySpec.create(TestEntity.class).location(app.newLocalhostProvisioningLocation().obtain()));
+ machine = app.newLocalhostProvisioningLocation().obtain();
+ entity = app.createAndManageChild(EntitySpec.create(TestEntity.class).location(machine));
app.start(ImmutableList.<Location>of());
}
@@ -70,18 +74,14 @@ public class SshCommandIntegrationTest {
File tempFile = File.createTempFile("testSshCommand", "txt");
tempFile.deleteOnExit();
new SshCommandSensor<String>(ConfigBag.newInstance()
+ .configure(SshCommandSensor.SENSOR_PERIOD, Duration.millis(100))
.configure(SshCommandSensor.SENSOR_NAME, SENSOR_STRING.getName())
.configure(SshCommandSensor.SENSOR_COMMAND, "echo foo > "+tempFile.getAbsolutePath()+"\n"
+ "wc "+tempFile.getAbsolutePath()))
.apply(entity);
entity.setAttribute(Attributes.SERVICE_UP, true);
- Asserts.succeedsEventually(new Runnable() {
- public void run() {
- String val = entity.getAttribute(SENSOR_STRING);
- assertTrue(val != null);
- }});
- String val = entity.getAttribute(SENSOR_STRING);
+ String val = EntityTestUtils.assertAttributeEventuallyNonNull(entity, SENSOR_STRING);
assertTrue(val.contains("1"), "val="+val);
String[] counts = val.trim().split("\\s+");
Assert.assertEquals(counts.length, 4, "val="+val);
[4/8] incubator-brooklyn git commit: BROOKLYN-83: fix
SensorResourceTest
Posted by al...@apache.org.
BROOKLYN-83: fix SensorResourceTest
- On getting a sensor, if no "Accepts" header is given, then we don't
control whether json or plain text comes back.
It is dependent on the method order, which is compiler-specific.
- Therefore delete the test that gave no Accepts and then asserted
it was json.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/716ca465
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/716ca465
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/716ca465
Branch: refs/heads/master
Commit: 716ca46546e81b9eaf7e4a6f5c338ff9e307d595
Parents: 1cb9871
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 12:58:55 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:10:04 2014 +0000
----------------------------------------------------------------------
.../rest/resources/SensorResourceTest.java | 27 +++++++++-----------
1 file changed, 12 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/716ca465/usage/rest-server/src/test/java/brooklyn/rest/resources/SensorResourceTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/brooklyn/rest/resources/SensorResourceTest.java b/usage/rest-server/src/test/java/brooklyn/rest/resources/SensorResourceTest.java
index 564435d..bb80035 100644
--- a/usage/rest-server/src/test/java/brooklyn/rest/resources/SensorResourceTest.java
+++ b/usage/rest-server/src/test/java/brooklyn/rest/resources/SensorResourceTest.java
@@ -163,14 +163,12 @@ public class SensorResourceTest extends BrooklynRestResourceTest {
return response;
}
- /** Check we can get a sensor, and it defaults is to non-raw json, that is a string picking up the rendering hint */
- @Test
- public void testGet() throws Exception {
- // the double quotes are here because getEntity(String) does not parse json
- doSensorTest(null, null, "\"12345 frogs\"");
- }
-
- /** Same as {@link #testGet()}, but explicitly requesting json should give json */
+ /**
+ * Check we can get a sensor, explicitly requesting json; gives a string picking up the rendering hint.
+ *
+ * If no "Accepts" header is given, then we don't control whether json or plain text comes back.
+ * It is dependent on the method order, which is compiler-specific.
+ */
@Test
public void testGetJson() throws Exception {
doSensorTest(null, MediaType.APPLICATION_JSON_TYPE, "\"12345 frogs\"");
@@ -190,13 +188,12 @@ public class SensorResourceTest extends BrooklynRestResourceTest {
doSensorTest(null, MediaType.TEXT_PLAIN_TYPE, "12345 frogs");
}
- /** Check setting {@code raw} to {@code true} when we get ignores display value hint */
- @Test
- public void testGetRaw() throws Exception {
- doSensorTest(true, null, 12345);
- }
-
- /** As {@link #testGetRaw()} with json explicitly set (is the same) */
+ /**
+ * Check that when we set {@code raw = true}, the result ignores the display value hint.
+ *
+ * If no "Accepts" header is given, then we don't control whether json or plain text comes back.
+ * It is dependent on the method order, which is compiler-specific.
+ */
@Test
public void testGetRawJson() throws Exception {
doSensorTest(true, MediaType.APPLICATION_JSON_TYPE, 12345);
[3/8] incubator-brooklyn git commit: Fix yaml use of SshCommandSensor
Posted by al...@apache.org.
Fix yaml use of SshCommandSensor
- Was causing failure of VanillaBashNetcatYamlTest
- SshCommandSensor constructor expects ConfigBag, rather than Map.
- Change BrooklynYamlTypeInstantiator.newInstance to look for a
<init>(ConfigBag) constructor as well.
- Fix `Class AddSensor.getType("String")` so it tries prepending
"java.lang." as well
- set poll period to 100ms in yaml (instead of default 5 minutes)
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/d21654cc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/d21654cc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/d21654cc
Branch: refs/heads/master
Commit: d21654cc88300fe62d8d39ed274a69cfb0e10f86
Parents: eb57557
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 12:26:37 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:10:03 2014 +0000
----------------------------------------------------------------------
.../java/brooklyn/entity/effector/AddSensor.java | 18 +++++++++++++-----
.../creation/BrooklynYamlTypeInstantiator.java | 7 +++++++
.../camp/brooklyn/VanillaBashNetcatYamlTest.java | 4 ++--
.../resources/vanilla-bash-netcat-w-client.yaml | 2 ++
4 files changed, 24 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d21654cc/core/src/main/java/brooklyn/entity/effector/AddSensor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/effector/AddSensor.java b/core/src/main/java/brooklyn/entity/effector/AddSensor.java
index 49c191e..9e80b45 100644
--- a/core/src/main/java/brooklyn/entity/effector/AddSensor.java
+++ b/core/src/main/java/brooklyn/entity/effector/AddSensor.java
@@ -47,7 +47,7 @@ public class AddSensor<T> implements EntityInitializer {
public static final ConfigKey<String> SENSOR_NAME = ConfigKeys.newStringConfigKey("name", "The name of the sensor to create");
public static final ConfigKey<Duration> SENSOR_PERIOD = ConfigKeys.newConfigKey(Duration.class, "period", "Period, including units e.g. 1m or 5s or 200ms; default 5 minutes", Duration.FIVE_MINUTES);
- public static final ConfigKey<String> SENSOR_TYPE = ConfigKeys.newStringConfigKey("targetType", "Target type for the value; default String", "String");
+ public static final ConfigKey<String> SENSOR_TYPE = ConfigKeys.newStringConfigKey("targetType", "Target type for the value; default String", "java.lang.String");
protected final String name;
protected final Duration period;
@@ -76,14 +76,22 @@ public class AddSensor<T> implements EntityInitializer {
return Sensors.newSensor(clazz, name);
}
+ @SuppressWarnings("unchecked")
protected Class<T> getType(String className) {
- Class<T> clazz = null;
try {
- clazz = (Class<T>) Class.forName(className);
+ return (Class<T>) Class.forName(className);
} catch (ClassNotFoundException e) {
- throw new IllegalArgumentException("Invalid target type for sensor "+name+": " + className);
+ if (!className.contains(".")) {
+ // could be assuming "java.lang" package; try again with that
+ try {
+ return (Class<T>) Class.forName("java.lang."+className);
+ } catch (ClassNotFoundException e2) {
+ throw new IllegalArgumentException("Invalid target type for sensor "+name+": " + className+" (also tried java.lang."+className+")");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid target type for sensor "+name+": " + className);
+ }
}
- return clazz;
}
protected String getFullClassName(String className) {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d21654cc/usage/camp/src/main/java/io/brooklyn/camp/brooklyn/spi/creation/BrooklynYamlTypeInstantiator.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/main/java/io/brooklyn/camp/brooklyn/spi/creation/BrooklynYamlTypeInstantiator.java b/usage/camp/src/main/java/io/brooklyn/camp/brooklyn/spi/creation/BrooklynYamlTypeInstantiator.java
index 6046491..2cde40e 100644
--- a/usage/camp/src/main/java/io/brooklyn/camp/brooklyn/spi/creation/BrooklynYamlTypeInstantiator.java
+++ b/usage/camp/src/main/java/io/brooklyn/camp/brooklyn/spi/creation/BrooklynYamlTypeInstantiator.java
@@ -131,11 +131,18 @@ public abstract class BrooklynYamlTypeInstantiator {
Optional<? extends T> result = Reflections.invokeConstructorWithArgs(type, cfg);
if (result.isPresent())
return result.get();
+
+ ConfigBag cfgBag = ConfigBag.newInstance(cfg);
+ result = Reflections.invokeConstructorWithArgs(type, cfgBag);
+ if (result.isPresent())
+ return result.get();
+
if (cfg.isEmpty()) {
result = Reflections.invokeConstructorWithArgs(type);
if (result.isPresent())
return result.get();
}
+
throw new IllegalStateException("No known mechanism for constructing type "+type+" in "+factory.contextForLogging);
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d21654cc/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/VanillaBashNetcatYamlTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/VanillaBashNetcatYamlTest.java b/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/VanillaBashNetcatYamlTest.java
index 336b5fc..dd1b647 100644
--- a/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/VanillaBashNetcatYamlTest.java
+++ b/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/VanillaBashNetcatYamlTest.java
@@ -82,7 +82,7 @@ public class VanillaBashNetcatYamlTest extends AbstractYamlTest {
// and check we get the right result
EntityTestUtils.assertAttributeEventually(netcat, SENSOR_OUTPUT_ALL, StringPredicates.containsLiteral("hi netcat"));
log.info("invoked ping from "+pinger+" to "+netcat+", 'all' sensor shows:\n"+
- netcat.getAttribute(SENSOR_OUTPUT_ALL));
+ netcat.getAttribute(SENSOR_OUTPUT_ALL));
// netcat should now fail and restart
EntityTestUtils.assertAttributeEventually(netcat, Attributes.SERVICE_STATE_ACTUAL, Predicates.not(Predicates.equalTo(Lifecycle.RUNNING)));
@@ -96,7 +96,7 @@ public class VanillaBashNetcatYamlTest extends AbstractYamlTest {
// checking right result
EntityTestUtils.assertAttributeEventually(netcat, SENSOR_OUTPUT_ALL, StringPredicates.containsLiteral("yo yo yo"));
log.info("invoked ping again from "+pinger+" to "+netcat+", 'all' sensor shows:\n"+
- netcat.getAttribute(SENSOR_OUTPUT_ALL));
+ netcat.getAttribute(SENSOR_OUTPUT_ALL));
// and it's propagated to the app
EntityTestUtils.assertAttributeEventually(app, Sensors.newStringSensor("output.last"), StringPredicates.containsLiteral("yo yo yo"));
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d21654cc/usage/camp/src/test/resources/vanilla-bash-netcat-w-client.yaml
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/resources/vanilla-bash-netcat-w-client.yaml b/usage/camp/src/test/resources/vanilla-bash-netcat-w-client.yaml
index 174a38c..9c12eee 100644
--- a/usage/camp/src/test/resources/vanilla-bash-netcat-w-client.yaml
+++ b/usage/camp/src/test/resources/vanilla-bash-netcat-w-client.yaml
@@ -51,11 +51,13 @@ services:
brooklyn.config:
name: output.last
command: tail -1 server-input
+ period: 100ms
- type: brooklyn.entity.software.ssh.SshCommandSensor
brooklyn.config:
name: output.all
command: cat server-input
+ period: 100ms
# a client to hit netcat
- type: brooklyn.entity.basic.VanillaSoftwareProcess
[2/8] incubator-brooklyn git commit: Fix
ApplicationResourceIntegrationTest
Posted by al...@apache.org.
Fix ApplicationResourceIntegrationTest
- can get back json or plain string from
client().resource(stateSensor).get(String.class);
accept either
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/374a9db8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/374a9db8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/374a9db8
Branch: refs/heads/master
Commit: 374a9db8f4589c39dc6e85cbf0ab1d0f1533657f
Parents: 6791d51
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 10:55:21 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:04:25 2014 +0000
----------------------------------------------------------------------
.../resources/ApplicationResourceIntegrationTest.java | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/374a9db8/usage/rest-server/src/test/java/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java b/usage/rest-server/src/test/java/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
index 955e592..88b7b8d 100644
--- a/usage/rest-server/src/test/java/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
+++ b/usage/rest-server/src/test/java/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
@@ -61,7 +61,7 @@ public class ApplicationResourceIntegrationTest extends BrooklynRestResourceTest
.build();
@Test(groups="Integration")
- public void testDeployRedisApplication() throws InterruptedException, TimeoutException {
+ public void testDeployRedisApplication() throws Exception {
ClientResponse response = clientDeploy(redisSpec);
assertEquals(response.getStatus(), 201);
@@ -101,16 +101,19 @@ public class ApplicationResourceIntegrationTest extends BrooklynRestResourceTest
}
@Test(groups="Integration", dependsOnMethods = { "testListSensorsRedis", "testListEntities" })
- public void testTriggerRedisStopEffector() throws InterruptedException {
+ public void testTriggerRedisStopEffector() throws Exception {
ClientResponse response = client().resource("/v1/applications/redis-app/entities/redis-ent/effectors/stop")
.type(MediaType.APPLICATION_JSON_TYPE)
.post(ClientResponse.class, ImmutableMap.of());
assertEquals(response.getStatus(), Response.Status.ACCEPTED.getStatusCode());
final URI stateSensor = URI.create("/v1/applications/redis-app/entities/redis-ent/sensors/service.state");
- final String expectedStatus = String.format("\"%s\"", Lifecycle.STOPPED.toString());
+ final String expectedStatus = Lifecycle.STOPPED.toString();
Asserts.succeedsEventually(MutableMap.of("timeout", 60 * 1000), new Runnable() {
public void run() {
+ // Accept with and without quotes; if don't specify "Accepts" header, then
+ // might get back json or plain text (depending on compiler / java runtime
+ // used for SensorApi!)
String val = client().resource(stateSensor).get(String.class);
assertTrue(expectedStatus.equalsIgnoreCase(val) || ("\""+expectedStatus+"\"").equalsIgnoreCase(val), "state="+val);
}
@@ -118,7 +121,7 @@ public class ApplicationResourceIntegrationTest extends BrooklynRestResourceTest
}
@Test(groups="Integration", dependsOnMethods = "testTriggerRedisStopEffector" )
- public void testDeleteRedisApplication() throws TimeoutException, InterruptedException {
+ public void testDeleteRedisApplication() throws Exception {
int size = getManagementContext().getApplications().size();
ClientResponse response = client().resource("/v1/applications/redis-app")
.delete(ClientResponse.class);
[7/8] incubator-brooklyn git commit: Fix
HttpRequestSensorTest.testHttpSensor
Posted by al...@apache.org.
Fix HttpRequestSensorTest.testHttpSensor
- Change sensor period to 100ms, from default 5 mins.
Otherwise if first poll happens before serviceUp=true, it will
timeout in 30 seconds without a second poll.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/1cb98719
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/1cb98719
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/1cb98719
Branch: refs/heads/master
Commit: 1cb987194411106460838d1b18d88dd4c11aeabf
Parents: 4de878c
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 12:50:40 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:10:04 2014 +0000
----------------------------------------------------------------------
.../brooklyn/entity/software/http/HttpRequestSensorTest.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1cb98719/software/base/src/test/java/brooklyn/entity/software/http/HttpRequestSensorTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/brooklyn/entity/software/http/HttpRequestSensorTest.java b/software/base/src/test/java/brooklyn/entity/software/http/HttpRequestSensorTest.java
index 04d64e0..db26223 100644
--- a/software/base/src/test/java/brooklyn/entity/software/http/HttpRequestSensorTest.java
+++ b/software/base/src/test/java/brooklyn/entity/software/http/HttpRequestSensorTest.java
@@ -33,6 +33,7 @@ import brooklyn.test.EntityTestUtils;
import brooklyn.test.entity.TestApplication;
import brooklyn.test.entity.TestEntity;
import brooklyn.util.config.ConfigBag;
+import brooklyn.util.time.Duration;
import com.google.common.collect.ImmutableList;
@@ -59,11 +60,12 @@ public class HttpRequestSensorTest {
@Test(groups="Integration")
public void testHttpSensor() throws Exception {
HttpRequestSensor<Integer> sensor = new HttpRequestSensor<Integer>(ConfigBag.newInstance()
+ .configure(HttpRequestSensor.SENSOR_PERIOD, Duration.millis(100))
.configure(HttpRequestSensor.SENSOR_NAME, SENSOR_STRING.getName())
.configure(HttpRequestSensor.SENSOR_TYPE, TARGET_TYPE)
.configure(HttpRequestSensor.JSON_PATH, "$.myKey")
.configure(HttpRequestSensor.SENSOR_URI, "http://echo.jsontest.com/myKey/myValue"));
- sensor.apply(entity);
+ sensor.apply(entity);
entity.setAttribute(Attributes.SERVICE_UP, true);
EntityTestUtils.assertAttributeEqualsEventually(entity, SENSOR_STRING, "myValue");
[8/8] incubator-brooklyn git commit: This closes #326
Posted by al...@apache.org.
This closes #326
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/8e0e1b4a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/8e0e1b4a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/8e0e1b4a
Branch: refs/heads/master
Commit: 8e0e1b4aae5c843d528ab5e3d716866a6ed907aa
Parents: 6791d51 3a98a9a
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 13 23:12:31 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 13 23:12:31 2014 +0000
----------------------------------------------------------------------
.../brooklyn/entity/effector/AddSensor.java | 18 ++++++---
...ixedListMachineProvisioningLocationTest.java | 2 +-
.../software/http/HttpRequestSensorTest.java | 4 +-
.../software/ssh/SshCommandIntegrationTest.java | 16 ++++----
.../creation/BrooklynYamlTypeInstantiator.java | 7 ++++
.../brooklyn/VanillaBashNetcatYamlTest.java | 4 +-
.../resources/vanilla-bash-netcat-w-client.yaml | 2 +
.../ApplicationResourceIntegrationTest.java | 11 +++--
.../rest/resources/SensorResourceTest.java | 27 ++++++-------
.../util/javalang/MemoryUsageTrackerTest.java | 42 +++++++++++++++-----
10 files changed, 87 insertions(+), 46 deletions(-)
----------------------------------------------------------------------