add support to control java version installed

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

Branch: refs/heads/0.7.0-incubating
Commit: b575ad7447147ef9d486b2e5ab2210e788e10900
Parents: 6a0ae06
Author: Andrea Turli <[email protected]>
Authored: Thu Apr 30 15:36:58 2015 +0200
Committer: Andrea Turli <[email protected]>
Committed: Mon Jun 1 11:56:39 2015 +0200

----------------------------------------------------------------------
 .../nosql/cassandra/CassandraNodeSshDriver.java | 32 ++++++++++----------
 .../nosql/riak/RiakNodeIntegrationTest.java     |  7 +++--
 .../nosql/riak/RiakNodeSoftlayerLiveTest.java   |  9 ++++--
 3 files changed, 26 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/b575ad74/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 9a54c8a..44651ba 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
@@ -30,6 +30,10 @@ import java.util.Set;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
+
 import brooklyn.entity.Entity;
 import brooklyn.entity.basic.Attributes;
 import brooklyn.entity.basic.Entities;
@@ -61,10 +65,6 @@ import brooklyn.util.text.TemplateProcessor;
 import brooklyn.util.time.Duration;
 import brooklyn.util.time.Time;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
 /**
  * Start a {@link CassandraNode} in a {@link Location} accessible over ssh.
  */
@@ -112,20 +112,20 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
     public String getCassandraRackdcConfigFileName() { return 
entity.getConfig(CassandraNode.CASSANDRA_RACKDC_CONFIG_FILE_NAME); }
 
     public String getMirrorUrl() { return 
entity.getConfig(CassandraNode.MIRROR_URL); }
-    
+
     protected String getDefaultUnpackedDirectoryName() {
         return "apache-cassandra-"+getVersion();
     }
-    
+
     protected boolean isV2() {
         String version = getVersion();
         return version.startsWith("2.");
     }
-    
+
     @Override
     public boolean installJava() {
         if (isV2()) {
-            return checkForAndInstallJava7or8();
+            return checkForAndInstallJava("1.8");
         } else {
             return super.installJava();
         }
@@ -186,8 +186,8 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
                 .add("mkdir -p brooklyn_commands")
                 .add(String.format("sed -i.bk 
's/log4j.appender.R.File=.*/log4j.appender.R.File=%s/g' 
%s/conf/log4j-server.properties", logFileEscaped, getRunDir()))
                 .add(String.format("sed -i.bk '/JMX_PORT/d' 
%s/conf/cassandra-env.sh", getRunDir()))
-                // Script sets 180k on Linux which gives Java error:  The 
stack size specified is too small, Specify at least 228k 
-                .add(String.format("sed -i.bk 's/-Xss180k/-Xss280k/g' 
%s/conf/cassandra-env.sh", getRunDir())); 
+                // Script sets 180k on Linux which gives Java error:  The 
stack size specified is too small, Specify at least 228k
+                .add(String.format("sed -i.bk 's/-Xss180k/-Xss280k/g' 
%s/conf/cassandra-env.sh", getRunDir()));
 
         newScript(CUSTOMIZING)
                 .body.append(commands.build())
@@ -224,7 +224,7 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
     protected void customizeInitialSeeds() {
         if (entity.getConfig(CassandraNode.INITIAL_SEEDS)==null) {
             if (isClustered()) {
-                entity.setConfig(CassandraNode.INITIAL_SEEDS, 
+                entity.setConfig(CassandraNode.INITIAL_SEEDS,
                     
DependentConfiguration.attributeWhenReady(entity.getParent(), 
CassandraDatacenter.CURRENT_SEEDS));
             } else {
                 entity.setConfig(CassandraNode.INITIAL_SEEDS, 
MutableSet.<Entity>of(entity));
@@ -290,7 +290,7 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
                     }
                 }
             } while (true);
-            
+
             // TODO should look at last start time... but instead we always 
wait
             
CassandraDatacenter.DELAY_BETWEEN_STARTS.countdownTimer().waitForExpiryUnchecked();
         }
@@ -307,7 +307,7 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
                     .execute();
             if (!isClustered()) {
                 InputStream creationScript = 
DatastoreMixins.getDatabaseCreationScript(entity);
-                if (creationScript!=null) { 
+                if (creationScript!=null) {
                     Tasks.setBlockingDetails("Pausing to ensure Cassandra 
(singleton) has started before running creation script");
                     Time.sleep(Duration.seconds(20));
                     Tasks.resetBlockingDetails();
@@ -341,7 +341,7 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
         }
         return result;
     }
-    
+
     protected String launchEssentialCommand() {
         if (isV2()) {
             return String.format("./bin/cassandra -p %s > 
./cassandra-console.log 2>&1", getPidFile());
@@ -372,7 +372,7 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
                 .put("cassandra.config", getCassandraConfigFileName())
                 .build();
     }
-    
+
     @Override
     public Map<String, String> getShellEnvironment() {
         return MutableMap.<String, String>builder()
@@ -416,5 +416,5 @@ public class CassandraNodeSshDriver extends 
JavaSoftwareProcessSshDriver impleme
     public String getResolvedAddress(String hostname) {
         return 
resolvedAddressCache.or(BrooklynAccessUtils.resolvedAddressSupplier(getEntity(),
 getMachine(), hostname));
     }
-    
+
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/b575ad74/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeIntegrationTest.java
 
b/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeIntegrationTest.java
index 1b92e25..002739c 100644
--- 
a/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeIntegrationTest.java
+++ 
b/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeIntegrationTest.java
@@ -24,6 +24,8 @@ import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.ImmutableList;
+
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.proxying.EntitySpec;
 import brooklyn.entity.trait.Startable;
@@ -31,8 +33,6 @@ import 
brooklyn.location.basic.LocalhostMachineProvisioningLocation;
 import brooklyn.test.EntityTestUtils;
 import brooklyn.test.entity.TestApplication;
 
-import com.google.common.collect.ImmutableList;
-
 public class RiakNodeIntegrationTest {
 
     private TestApplication app;
@@ -52,7 +52,8 @@ public class RiakNodeIntegrationTest {
 
     @Test(groups = "Integration")
     public void testCanStartAndStop() throws Exception {
-        RiakNode entity = 
app.createAndManageChild(EntitySpec.create(RiakNode.class));
+        RiakNode entity = 
app.createAndManageChild(EntitySpec.create(RiakNode.class)
+                .configure(RiakNode.SUGGESTED_VERSION, "2.1.1"));
         app.start(ImmutableList.of(localhostProvisioningLocation));
 
         EntityTestUtils.assertAttributeEqualsEventually(entity, 
Startable.SERVICE_UP, true);

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/b575ad74/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeSoftlayerLiveTest.java
----------------------------------------------------------------------
diff --git 
a/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeSoftlayerLiveTest.java
 
b/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeSoftlayerLiveTest.java
index 3ddd4b8..123ef7f 100644
--- 
a/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeSoftlayerLiveTest.java
+++ 
b/software/nosql/src/test/java/brooklyn/entity/nosql/riak/RiakNodeSoftlayerLiveTest.java
@@ -18,12 +18,14 @@
  */
 package brooklyn.entity.nosql.riak;
 
+import org.testng.annotations.BeforeMethod;
+
+import com.google.common.collect.ImmutableList;
+
 import brooklyn.entity.AbstractSoftlayerLiveTest;
 import brooklyn.entity.proxying.EntitySpec;
 import brooklyn.location.Location;
 import brooklyn.test.EntityTestUtils;
-import com.google.common.collect.ImmutableList;
-import org.testng.annotations.BeforeMethod;
 
 public class RiakNodeSoftlayerLiveTest extends AbstractSoftlayerLiveTest {
 
@@ -34,7 +36,8 @@ public class RiakNodeSoftlayerLiveTest extends 
AbstractSoftlayerLiveTest {
 
     @Override
     protected void doTest(Location loc) throws Exception {
-        RiakNode entity = 
app.createAndManageChild(EntitySpec.create(RiakNode.class));
+        RiakNode entity = 
app.createAndManageChild(EntitySpec.create(RiakNode.class)
+                .configure(RiakNode.SUGGESTED_VERSION, "2.1.1"));
         app.start(ImmutableList.of(loc));
 
         EntityTestUtils.assertAttributeEqualsEventually(entity, 
RiakNode.SERVICE_UP, true);

Reply via email to