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 {