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