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();
         

Reply via email to