You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whirr.apache.org by ab...@apache.org on 2012/08/24 01:36:18 UTC
svn commit: r1376777 - in /whirr/trunk: ./
core/src/main/java/org/apache/whirr/
core/src/main/java/org/apache/whirr/service/jclouds/
core/src/main/resources/functions/ core/src/test/java/org/apache/whirr/
Author: abayer
Date: Thu Aug 23 23:36:18 2012
New Revision: 1376777
URL: http://svn.apache.org/viewvc?rev=1376777&view=rev
Log:
WHIRR-638. Parameterize OAB Java install. Contributed by Graham Gear.
Modified:
whirr/trunk/CHANGES.txt
whirr/trunk/core/src/main/java/org/apache/whirr/ClusterSpec.java
whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/VariablesToExport.java
whirr/trunk/core/src/main/resources/functions/install_oab_java.sh
whirr/trunk/core/src/test/java/org/apache/whirr/ClusterSpecTest.java
Modified: whirr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/whirr/trunk/CHANGES.txt?rev=1376777&r1=1376776&r2=1376777&view=diff
==============================================================================
--- whirr/trunk/CHANGES.txt (original)
+++ whirr/trunk/CHANGES.txt Thu Aug 23 23:36:18 2012
@@ -6,6 +6,8 @@ Trunk (unreleased changes)
IMPROVEMENTS
+ WHIRR-638. Parameterize OAB Java install. (Graham Gear via abayer)
+
BUG FIXES
WHIRR-641. Improved parsing of config ->
Modified: whirr/trunk/core/src/main/java/org/apache/whirr/ClusterSpec.java
URL: http://svn.apache.org/viewvc/whirr/trunk/core/src/main/java/org/apache/whirr/ClusterSpec.java?rev=1376777&r1=1376776&r2=1376777&view=diff
==============================================================================
--- whirr/trunk/core/src/main/java/org/apache/whirr/ClusterSpec.java (original)
+++ whirr/trunk/core/src/main/java/org/apache/whirr/ClusterSpec.java Thu Aug 23 23:36:18 2012
@@ -183,6 +183,8 @@ public class ClusterSpec {
AUTO_HOSTNAME_SUFFIX(String.class, false, "If given, use this (along with AUTO_HOSTNAME_PREFIX, if set) to set " +
"the hostname for the instances."),
+ JDK_INSTALL_URL(String.class, false, "JDK install URL"),
+
AWS_EC2_PLACEMENT_GROUP(String.class, false, "If given, use this existing EC2 placement group. (aws-ec2 specific option)");
private Class<?> type;
@@ -304,7 +306,9 @@ public class ClusterSpec {
private String autoHostnamePrefix;
private String autoHostnameSuffix;
-
+
+ private String jdkInstallUrl;
+
private Configuration config;
public ClusterSpec() throws ConfigurationException {
@@ -338,6 +342,8 @@ public class ClusterSpec {
setAutoHostnamePrefix(getString(Property.AUTO_HOSTNAME_PREFIX));
setAutoHostnameSuffix(getString(Property.AUTO_HOSTNAME_SUFFIX));
+ setJdkInstallUrl(getString(Property.JDK_INSTALL_URL));
+
setProvider(getString(Property.PROVIDER));
setEndpoint(getString(Property.ENDPOINT));
setIdentity(getString(Property.IDENTITY));
@@ -432,6 +438,8 @@ public class ClusterSpec {
r.setAutoHostnamePrefix(getAutoHostnamePrefix());
r.setAutoHostnameSuffix(getAutoHostnameSuffix());
+ r.setJdkInstallUrl(getJdkInstallUrl());
+
return r;
}
@@ -799,7 +807,7 @@ public class ClusterSpec {
public void setAutoHostnameSuffix(String autoHostnameSuffix) {
this.autoHostnameSuffix = autoHostnameSuffix;
}
-
+
public String getAutoHostnamePrefix() {
return autoHostnamePrefix;
}
@@ -807,8 +815,16 @@ public class ClusterSpec {
public void setAutoHostnamePrefix(String autoHostnamePrefix) {
this.autoHostnamePrefix = autoHostnamePrefix;
}
+
+ public String getJdkInstallUrl() {
+ return jdkInstallUrl;
+ }
- /**
+ public void setJdkInstallUrl(String jdkInstallUrl) {
+ this.jdkInstallUrl = jdkInstallUrl;
+ }
+
+/**
* The rsa public key which is authorized to login to your on the cloud nodes.
*
* @param publicKey
@@ -960,6 +976,7 @@ public class ClusterSpec {
&& Objects.equal(getAwsEc2PlacementGroup(), that.getAwsEc2PlacementGroup())
&& Objects.equal(getAutoHostnamePrefix(), that.getAutoHostnamePrefix())
&& Objects.equal(getAutoHostnameSuffix(), that.getAutoHostnameSuffix())
+ && Objects.equal(getJdkInstallUrl(), that.getJdkInstallUrl())
;
}
return false;
@@ -994,7 +1011,8 @@ public class ClusterSpec {
getAwsEc2SpotPrice(),
getAwsEc2PlacementGroup(),
getAutoHostnamePrefix(),
- getAutoHostnameSuffix()
+ getAutoHostnameSuffix(),
+ getJdkInstallUrl()
);
}
@@ -1029,6 +1047,7 @@ public class ClusterSpec {
.add("awsEc2PlacementGroup",getAwsEc2PlacementGroup())
.add("autoHostnamePrefix",getAutoHostnamePrefix())
.add("autoHostnameSuffix",getAutoHostnameSuffix())
+ .add("jdkInstallUrl", getJdkInstallUrl())
.toString();
}
}
Modified: whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/VariablesToExport.java
URL: http://svn.apache.org/viewvc/whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/VariablesToExport.java?rev=1376777&r1=1376776&r2=1376777&view=diff
==============================================================================
--- whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/VariablesToExport.java (original)
+++ whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/VariablesToExport.java Thu Aug 23 23:36:18 2012
@@ -81,6 +81,9 @@ class VariablesToExport implements Suppl
metadataMap.put("AUTO_HOSTNAME_PREFIX", clusterSpec.getAutoHostnamePrefix());
}
}
+ if(clusterSpec.getJdkInstallUrl() != null) {
+ metadataMap.put("JDK_INSTALL_URL", clusterSpec.getJdkInstallUrl());
+ }
if (instance != null) {
metadataMap.put("ROLES", Joiner.on(",").join(instance.getRoles()));
if (instance.getPublicIp() != null)
Modified: whirr/trunk/core/src/main/resources/functions/install_oab_java.sh
URL: http://svn.apache.org/viewvc/whirr/trunk/core/src/main/resources/functions/install_oab_java.sh?rev=1376777&r1=1376776&r2=1376777&view=diff
==============================================================================
--- whirr/trunk/core/src/main/resources/functions/install_oab_java.sh (original)
+++ whirr/trunk/core/src/main/resources/functions/install_oab_java.sh Thu Aug 23 23:36:18 2012
@@ -23,9 +23,9 @@ function install_oab_java_deb() {
apt-get update
- wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java6.sh -O oab-java6.sh
- chmod +x oab-java6.sh
- ./oab-java6.sh
+ wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java.sh -O oab-java.sh
+ chmod +x oab-java.sh
+ ./oab-java.sh
apt-get update
@@ -39,17 +39,22 @@ function install_oab_java_deb() {
}
function install_oab_java_rpm() {
- MACHINE_TYPE=`uname -m`
- if [ ${MACHINE_TYPE} == 'x86_64' ]; then
- JDK_PACKAGE=jdk-6u21-linux-x64-rpm.bin
- else
- JDK_PACKAGE=jdk-6u21-linux-i586-rpm.bin
- fi
JDK_INSTALL_PATH=/usr/java
mkdir -p $JDK_INSTALL_PATH
cd $JDK_INSTALL_PATH
- wget http://whirr-third-party.s3.amazonaws.com/$JDK_PACKAGE
- chmod +x $JDK_PACKAGE
+ if [ -z "${JDK_INSTALL_URL+xxx}" ]; then
+ MACHINE_TYPE=`uname -m`
+ if [ ${MACHINE_TYPE} == 'x86_64' ]; then
+ JDK_PACKAGE=jdk-6u21-linux-x64-rpm.bin
+ else
+ JDK_PACKAGE=jdk-6u21-linux-i586-rpm.bin
+ fi
+ wget http://whirr-third-party.s3.amazonaws.com/$JDK_PACKAGE
+ else
+ JDK_PACKAGE=$(basename $JDK_INSTALL_URL)
+ wget $JDK_INSTALL_URL
+ fi
+ chmod +x $JDK_PACKAGE
mv /bin/more /bin/more.no
yes | ./$JDK_PACKAGE -noregister
mv /bin/more.no /bin/more
Modified: whirr/trunk/core/src/test/java/org/apache/whirr/ClusterSpecTest.java
URL: http://svn.apache.org/viewvc/whirr/trunk/core/src/test/java/org/apache/whirr/ClusterSpecTest.java?rev=1376777&r1=1376776&r2=1376777&view=diff
==============================================================================
--- whirr/trunk/core/src/test/java/org/apache/whirr/ClusterSpecTest.java (original)
+++ whirr/trunk/core/src/test/java/org/apache/whirr/ClusterSpecTest.java Thu Aug 23 23:36:18 2012
@@ -360,7 +360,21 @@ public class ClusterSpecTest {
assertEquals(null, ec2Spec.getAutoHostnamePrefix());
assertEquals(null, ec2Spec.getAutoHostnameSuffix());
}
-
+
+ @Test
+ public void testJdkInstallUrl() throws Exception {
+ Configuration cloudServersConfig = new PropertiesConfiguration();
+
+ ClusterSpec cloudServersSpec = ClusterSpec.withTemporaryKeys(cloudServersConfig);
+ assertEquals(null, cloudServersSpec.getJdkInstallUrl());
+
+ cloudServersConfig = new PropertiesConfiguration();
+ cloudServersConfig.addProperty("whirr.jdk-install-url", "http://whirr-third-party.s3.amazonaws.com/jdk-6u21-linux-i586-rpm.bin");
+
+ cloudServersSpec = ClusterSpec.withTemporaryKeys(cloudServersConfig);
+ assertEquals("http://whirr-third-party.s3.amazonaws.com/jdk-6u21-linux-i586-rpm.bin", cloudServersSpec.getJdkInstallUrl());
+ }
+
@Test
public void testApplySubroleAliases() throws ConfigurationException {