You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:47:08 UTC

[38/50] brooklyn-library git commit: fix cassandra edge case for single-node (nonclustered) deployment to force consistent addresses; mainly matters on some environments where hostname resolves differently to the ip address being used but since we aren't

fix cassandra edge case for single-node (nonclustered) deployment to force consistent addresses; mainly matters on some environments where hostname resolves differently to the ip address being used but since we aren't clustering we don't mind (particularly for localhost, if hostname has been set through dhcp to something different to the ip being used)


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

Branch: refs/heads/0.6.0
Commit: aed14421cb352a9e90fb51b024972b02de67403d
Parents: 30f87cc
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Thu Nov 14 21:14:59 2013 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Thu Nov 14 21:21:39 2013 +0000

----------------------------------------------------------------------
 .../brooklyn/entity/nosql/cassandra/CassandraNodeDriver.java  | 2 ++
 .../brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java    | 7 +++++++
 .../entity/nosql/cassandra/CassandraNodeSshDriver.java        | 3 ++-
 3 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/aed14421/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeDriver.java
index 1234421..0c71930 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeDriver.java
@@ -19,4 +19,6 @@ public interface CassandraNodeDriver extends JavaSoftwareProcessDriver {
 
     String getCassandraConfigFileName();
 
+    boolean isClustered();
+
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/aed14421/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java b/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
index cede56b..01ad632 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
@@ -114,11 +114,14 @@ public class CassandraNodeImpl extends SoftwareProcessImpl implements CassandraN
             // http://www.datastax.com/documentation/cassandra/2.0/mobile/cassandra/architecture/architectureSnitchEC2MultiRegion_c.html
             // describes that the listen_address is set to the private IP, and the broadcast_address is set to the public IP.
             return getPublicIp();
+        } else if (!getDriver().isClustered()) {
+            return getListenAddress();
         } else {
             // In other situations, prefer the hostname so other regions can see it
             return getAttribute(CassandraNode.HOSTNAME);
         }
     }
+    
     public String getPrivateIp() {
         if (requiresAlwaysPublicIp()) {
             return getAttribute(CassandraNode.ADDRESS);
@@ -202,6 +205,10 @@ public class CassandraNodeImpl extends SoftwareProcessImpl implements CassandraN
     public Class<CassandraNodeDriver> getDriverInterface() {
         return CassandraNodeDriver.class;
     }
+    
+    public CassandraNodeDriver getDriver() {
+        return (CassandraNodeDriver) super.getDriver();
+    }
 
     @Override
     public void init() {

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/aed14421/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeSshDriver.java
index 1d54fad..b2c331f 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/cassandra/CassandraNodeSshDriver.java
@@ -176,7 +176,8 @@ public class CassandraNodeSshDriver extends JavaSoftwareProcessSshDriver impleme
         }
     }
 
-    protected boolean isClustered() {
+    @Override
+    public boolean isClustered() {
         return entity.getParent() instanceof CassandraCluster;
     }