Set ElasticSearch.DATASTORE_URL Project: http://git-wip-us.apache.org/repos/asf/brooklyn-library/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-library/commit/47bdecfe Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-library/tree/47bdecfe Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-library/diff/47bdecfe
Branch: refs/heads/master Commit: 47bdecfebe7333ce84af0cd568e1e9742c7ccfcf Parents: 0a50c13 Author: Aled Sage <aled.s...@gmail.com> Authored: Wed Mar 23 20:47:59 2016 +0000 Committer: Aled Sage <aled.s...@gmail.com> Committed: Fri Mar 25 00:37:18 2016 +0000 ---------------------------------------------------------------------- .../entity/nosql/elasticsearch/ElasticSearchNodeImpl.java | 6 +++++- .../elasticsearch/ElasticSearchNodeIntegrationTest.java | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/47bdecfe/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java index a2a4652..ccb09e8 100644 --- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java +++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java @@ -70,7 +70,11 @@ public class ElasticSearchNodeImpl extends SoftwareProcessImpl implements Elasti protected void connectSensors() { super.connectSensors(); Integer rawPort = getAttribute(HTTP_PORT); + String hostname = getAttribute(HOSTNAME); checkNotNull(rawPort, "HTTP_PORT sensors not set for %s; is an acceptable port available?", this); + + sensors().set(DATASTORE_URL, String.format("http://%s:%s", hostname, rawPort)); + HostAndPort hp = BrooklynAccessUtils.getBrooklynAccessibleAddress(this, rawPort); Function<Maybe<JsonElement>, String> getNodeId = new Function<Maybe<JsonElement>, String>() { @Override public String apply(Maybe<JsonElement> input) { @@ -80,7 +84,7 @@ public class ElasticSearchNodeImpl extends SoftwareProcessImpl implements Elasti return input.get().getAsJsonObject().entrySet().iterator().next().getKey(); } }; - + if (isHttpMonitoringEnabled()) { boolean retrieveUsageMetrics = getConfig(RETRIEVE_USAGE_METRICS); http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/47bdecfe/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java index e6412f8..a37d430 100644 --- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java +++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java @@ -19,6 +19,8 @@ package org.apache.brooklyn.entity.nosql.elasticsearch; import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; import java.net.URI; import java.net.URISyntaxException; @@ -31,9 +33,12 @@ import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.entity.trait.Startable; import org.apache.brooklyn.core.test.entity.TestApplication; import org.apache.brooklyn.feed.http.HttpValueFunctions; +import org.apache.brooklyn.test.Asserts; import org.apache.brooklyn.test.EntityTestUtils; +import org.apache.brooklyn.util.http.HttpAsserts; import org.apache.brooklyn.util.http.HttpTool; import org.apache.brooklyn.util.http.HttpToolResponse; +import org.apache.brooklyn.util.net.Networking; import org.apache.http.client.methods.HttpGet; import org.bouncycastle.util.Strings; import org.testng.annotations.AfterMethod; @@ -43,6 +48,7 @@ import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocati import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.common.net.HostAndPort; public class ElasticSearchNodeIntegrationTest { @@ -65,8 +71,11 @@ public class ElasticSearchNodeIntegrationTest { public void testStartupAndShutdown() { elasticSearchNode = app.createAndManageChild(EntitySpec.create(ElasticSearchNode.class)); app.start(ImmutableList.of(testLocation)); + String url = elasticSearchNode.sensors().get(ElasticSearchNode.DATASTORE_URL); EntityTestUtils.assertAttributeEqualsEventually(elasticSearchNode, Startable.SERVICE_UP, true); + assertNotNull(url); + assertTrue(Networking.isReachable(HostAndPort.fromParts(URI.create(url).getHost(), URI.create(url).getPort()))); elasticSearchNode.stop();