You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whirr.apache.org by to...@apache.org on 2010/09/22 21:10:59 UTC
svn commit: r1000146 - in /incubator/whirr/trunk: ./
cli/src/test/java/org/apache/whirr/cli/
cli/src/test/java/org/apache/whirr/cli/command/
core/src/main/java/org/apache/whirr/service/
core/src/main/java/org/apache/whirr/service/jclouds/ core/src/main...
Author: tomwhite
Date: Wed Sep 22 19:10:58 2010
New Revision: 1000146
URL: http://svn.apache.org/viewvc?rev=1000146&view=rev
Log:
WHIRR-66. Upgrade to jclouds 1.0-beta-7. Contributed by Adrian Cole.
Removed:
incubator/whirr/trunk/core/src/main/java/org/jclouds/aws/ec2/compute/functions/RunningInstanceToNodeMetadata.java
Modified:
incubator/whirr/trunk/CHANGES.txt
incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/MainTest.java
incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/DestroyClusterCommandTest.java
incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/LaunchClusterCommandTest.java
incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ClusterSpec.java
incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/RunUrlBuilder.java
incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/FirewallSettings.java
incubator/whirr/trunk/pom.xml
incubator/whirr/trunk/services/cassandra/src/main/java/org/apache/whirr/service/cassandra/CassandraService.java
incubator/whirr/trunk/services/cassandra/src/test/java/org/apache/whirr/service/cassandra/CassandraServiceTest.java
incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopProxy.java
incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopService.java
incubator/whirr/trunk/services/zookeeper/src/main/java/org/apache/whirr/service/zookeeper/ZooKeeperService.java
Modified: incubator/whirr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/CHANGES.txt?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/CHANGES.txt (original)
+++ incubator/whirr/trunk/CHANGES.txt Wed Sep 22 19:10:58 2010
@@ -8,6 +8,8 @@ Trunk (unreleased changes)
WHIRR-90. Scripts should be versioned. (tomwhite)
+ WHIRR-66. Upgrade to jclouds 1.0-beta-7. (Adrian Cole via tomwhite)
+
BUG FIXES
WHIRR-93. Fail on checkstyle violation. (tomwhite)
Modified: incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/MainTest.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/MainTest.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/MainTest.java (original)
+++ incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/MainTest.java Wed Sep 22 19:10:58 2010
@@ -25,7 +25,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import com.google.inject.internal.Lists;
+import com.google.common.collect.Lists;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
Modified: incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/DestroyClusterCommandTest.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/DestroyClusterCommandTest.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/DestroyClusterCommandTest.java (original)
+++ incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/DestroyClusterCommandTest.java Wed Sep 22 19:10:58 2010
@@ -26,7 +26,7 @@ import static org.mockito.Mockito.verify
import static org.mockito.Mockito.when;
import com.google.common.io.Files;
-import com.google.inject.internal.Lists;
+import com.google.common.collect.Lists;
import java.io.ByteArrayOutputStream;
import java.io.File;
Modified: incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/LaunchClusterCommandTest.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/LaunchClusterCommandTest.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/LaunchClusterCommandTest.java (original)
+++ incubator/whirr/trunk/cli/src/test/java/org/apache/whirr/cli/command/LaunchClusterCommandTest.java Wed Sep 22 19:10:58 2010
@@ -28,7 +28,7 @@ import static org.mockito.Mockito.when;
import com.google.common.collect.Sets;
import com.google.common.io.Files;
-import com.google.inject.internal.Lists;
+import com.google.common.collect.Lists;
import java.io.ByteArrayOutputStream;
import java.io.File;
Modified: incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ClusterSpec.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ClusterSpec.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ClusterSpec.java (original)
+++ incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ClusterSpec.java Wed Sep 22 19:10:58 2010
@@ -20,8 +20,8 @@ package org.apache.whirr.service;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.http.Payloads.newStringPayload;
-import static org.jclouds.http.Payloads.newFilePayload;
+import static org.jclouds.io.Payloads.newStringPayload;
+import static org.jclouds.io.Payloads.newFilePayload;
import static org.jclouds.util.Utils.toStringAndClose;
import com.google.common.base.Objects;
@@ -37,7 +37,7 @@ import org.apache.commons.configuration.
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
-import org.jclouds.http.Payload;
+import org.jclouds.io.Payload;
/**
* This class represents the specification of a cluster. It is used to describe
@@ -234,14 +234,14 @@ public class ClusterSpec {
* @throws IOException if the payload cannot be read
*/
public String readPrivateKey() throws IOException {
- return toStringAndClose(getPrivateKey().getContent());
+ return toStringAndClose(getPrivateKey().getInput());
}
/**
* @see #getPublicKey
* @throws IOException if the payload cannot be read
*/
public String readPublicKey() throws IOException {
- return toStringAndClose(getPublicKey().getContent());
+ return toStringAndClose(getPublicKey().getInput());
}
public List<String> getClientCidrs() {
return clientCidrs;
Modified: incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/RunUrlBuilder.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/RunUrlBuilder.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/RunUrlBuilder.java (original)
+++ incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/RunUrlBuilder.java Wed Sep 22 19:10:58 2010
@@ -38,7 +38,7 @@ public class RunUrlBuilder {
* @return
* @throws MalformedURLException
*/
- public static byte[] runUrls(String runUrlBase, String... urls) throws MalformedURLException {
+ public static String runUrls(String runUrlBase, String... urls) throws MalformedURLException {
ScriptBuilder scriptBuilder = new ScriptBuilder().addStatement(
exec("wget -qO/usr/bin/runurl run.alestic.com/runurl")).addStatement(
exec("chmod 755 /usr/bin/runurl"));
@@ -46,7 +46,7 @@ public class RunUrlBuilder {
String runUrl = new URL(new URL(runUrlBase), url).toExternalForm();
scriptBuilder.addStatement(exec("runurl " + runUrl));
}
- return scriptBuilder.build(OsFamily.UNIX).getBytes();
+ return scriptBuilder.build(OsFamily.UNIX);
}
}
Modified: incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/FirewallSettings.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/FirewallSettings.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/FirewallSettings.java (original)
+++ incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/jclouds/FirewallSettings.java Wed Sep 22 19:10:58 2010
@@ -85,7 +85,7 @@ public class FirewallSettings {
String region = EC2Utils.parseHandle(Iterables.get(nodes, 0).getId())[0];
EC2Client ec2Client = EC2Client.class.cast(
computeServiceContext.getProviderSpecificContext().getApi());
- String groupName = "jclouds#" + clusterSpec.getClusterName();
+ String groupName = "jclouds#" + clusterSpec.getClusterName() + "#" + region;
for (String cidr : cidrs) {
for (int port : ports) {
ec2Client.getSecurityGroupServices()
Modified: incubator/whirr/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/pom.xml?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/pom.xml (original)
+++ incubator/whirr/trunk/pom.xml Wed Sep 22 19:10:58 2010
@@ -45,7 +45,7 @@
</modules>
<properties>
- <jclouds.version>1.0-beta-6</jclouds.version>
+ <jclouds.version>1.0-beta-7</jclouds.version>
</properties>
<dependencyManagement>
Modified: incubator/whirr/trunk/services/cassandra/src/main/java/org/apache/whirr/service/cassandra/CassandraService.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/services/cassandra/src/main/java/org/apache/whirr/service/cassandra/CassandraService.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/services/cassandra/src/main/java/org/apache/whirr/service/cassandra/CassandraService.java (original)
+++ incubator/whirr/trunk/services/cassandra/src/main/java/org/apache/whirr/service/cassandra/CassandraService.java Wed Sep 22 19:10:58 2010
@@ -19,9 +19,11 @@
package org.apache.whirr.service.cassandra;
import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.whirr.service.RunUrlBuilder.runUrls;
import static org.jclouds.compute.domain.OsFamily.UBUNTU;
import static org.jclouds.compute.options.TemplateOptions.Builder.runScript;
import static org.jclouds.compute.predicates.NodePredicates.runningWithTag;
+import static org.jclouds.io.Payloads.newStringPayload;
import java.io.IOException;
import java.net.InetAddress;
@@ -35,19 +37,19 @@ import java.util.Set;
import org.apache.whirr.service.Cluster;
import org.apache.whirr.service.ClusterSpec;
import org.apache.whirr.service.ComputeServiceContextBuilder;
-import org.apache.whirr.service.RunUrlBuilder;
import org.apache.whirr.service.Service;
import org.apache.whirr.service.Cluster.Instance;
import org.apache.whirr.service.ClusterSpec.InstanceTemplate;
import org.apache.whirr.service.jclouds.FirewallSettings;
+import org.jclouds.aws.ec2.domain.InstanceType;
import org.jclouds.compute.ComputeService;
import org.jclouds.compute.ComputeServiceContext;
import org.jclouds.compute.RunNodesException;
import org.jclouds.compute.RunScriptOnNodesException;
-import org.jclouds.compute.domain.Architecture;
import org.jclouds.compute.domain.NodeMetadata;
import org.jclouds.compute.domain.Template;
import org.jclouds.compute.domain.TemplateBuilder;
+import org.jclouds.io.Payload;
import org.jclouds.ssh.ExecResponse;
import com.google.common.base.Function;
@@ -73,20 +75,21 @@ public class CassandraService extends Se
ComputeServiceContextBuilder.build(clusterSpec);
ComputeService computeService = computeServiceContext.getComputeService();
- byte[] bootScript = RunUrlBuilder.runUrls(clusterSpec.getRunUrlBase(),
+ Payload bootScript = newStringPayload(runUrls(clusterSpec.getRunUrlBase(),
"sun/java/install",
- "apache/cassandra/install");
+ "apache/cassandra/install"));
TemplateBuilder templateBuilder = computeService.templateBuilder()
.osFamily(UBUNTU).options(
runScript(bootScript).installPrivateKey(
- clusterSpec.readPrivateKey()).authorizePublicKey(
- clusterSpec.readPublicKey()));
+ clusterSpec.getPrivateKey()).authorizePublicKey(
+ clusterSpec.getPublicKey()));
// TODO extract this logic elsewhere
if (clusterSpec.getProvider().equals("ec2"))
- templateBuilder.imageNameMatches(".*10\\.?04.*").osDescriptionMatches(
- "^ubuntu-images.*").architecture(Architecture.X86_32);
+ templateBuilder.osVersionMatches("10.04")
+ .imageDescriptionMatches(".*ubuntu-images.*")
+ .hardwareId(InstanceType.M1_SMALL);
Template template = templateBuilder.build();
@@ -110,9 +113,8 @@ public class CassandraService extends Se
// Pass list of all servers in cluster to configure script.
String servers = Joiner.on(' ').join(getPrivateIps(seeds));
- byte[] configureScript = RunUrlBuilder
- .runUrls(clusterSpec.getRunUrlBase(),
- "apache/cassandra/post-configure " + servers);
+ Payload configureScript = newStringPayload(runUrls(clusterSpec.getRunUrlBase(),
+ "apache/cassandra/post-configure " + servers));
try {
Map<? extends NodeMetadata, ExecResponse> responses = computeService
Modified: incubator/whirr/trunk/services/cassandra/src/test/java/org/apache/whirr/service/cassandra/CassandraServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/services/cassandra/src/test/java/org/apache/whirr/service/cassandra/CassandraServiceTest.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/services/cassandra/src/test/java/org/apache/whirr/service/cassandra/CassandraServiceTest.java (original)
+++ incubator/whirr/trunk/services/cassandra/src/test/java/org/apache/whirr/service/cassandra/CassandraServiceTest.java Wed Sep 22 19:10:58 2010
@@ -32,10 +32,10 @@ import org.junit.Test;
public class CassandraServiceTest {
private NodeMetadata getNodeMetadata(String id) {
- return new NodeMetadataImpl("1", null, "1", null, null,
- new HashMap<String, String>(), null, null,
+ return new NodeMetadataImpl("1", null, "1", null, null,
+ new HashMap<String, String>(), null, null, null, null,
NodeState.RUNNING, new ArrayList<String>(),
- new ArrayList<String>(), new HashMap<String, String>(), null);
+ new ArrayList<String>(), null);
}
@Test()
Modified: incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopProxy.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopProxy.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopProxy.java (original)
+++ incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopProxy.java Wed Sep 22 19:10:58 2010
@@ -52,9 +52,9 @@ public class HadoopProxy {
} else {
identity = File.createTempFile("hadoop", "key");
identity.deleteOnExit();
- Files.write(ByteStreams.toByteArray(clusterSpec.getPrivateKey().getContent()), identity);
+ Files.write(ByteStreams.toByteArray(clusterSpec.getPrivateKey().getInput()), identity);
}
- String user = Iterables.get(cluster.getInstances(), 0).getLoginCredentials().account;
+ String user = Iterables.get(cluster.getInstances(), 0).getLoginCredentials().identity;
String server = cluster.getNamenodePublicAddress().getHostName();
String[] command = new String[] { "ssh",
"-i", identity.getAbsolutePath(),
Modified: incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopService.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopService.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopService.java (original)
+++ incubator/whirr/trunk/services/hadoop/src/main/java/org/apache/whirr/service/hadoop/HadoopService.java Wed Sep 22 19:10:58 2010
@@ -18,10 +18,12 @@
package org.apache.whirr.service.hadoop;
+import static org.apache.whirr.service.RunUrlBuilder.runUrls;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.compute.domain.OsFamily.UBUNTU;
import static org.jclouds.compute.options.TemplateOptions.Builder.runScript;
+import static org.jclouds.io.Payloads.newStringPayload;
import com.google.common.base.Charsets;
import com.google.common.base.Function;
@@ -41,18 +43,18 @@ import java.util.Set;
import org.apache.whirr.service.ClusterSpec;
import org.apache.whirr.service.ComputeServiceContextBuilder;
-import org.apache.whirr.service.RunUrlBuilder;
import org.apache.whirr.service.Service;
import org.apache.whirr.service.Cluster.Instance;
import org.apache.whirr.service.ClusterSpec.InstanceTemplate;
import org.apache.whirr.service.jclouds.FirewallSettings;
+import org.jclouds.aws.ec2.domain.InstanceType;
import org.jclouds.compute.ComputeService;
import org.jclouds.compute.ComputeServiceContext;
import org.jclouds.compute.RunNodesException;
-import org.jclouds.compute.domain.Architecture;
import org.jclouds.compute.domain.NodeMetadata;
import org.jclouds.compute.domain.Template;
import org.jclouds.compute.domain.TemplateBuilder;
+import org.jclouds.io.Payload;
public class HadoopService extends Service {
@@ -80,22 +82,22 @@ public class HadoopService extends Servi
// deal with user packages and autoshutdown with extra runurls
String hadoopInstallRunUrl = clusterSpec.getConfiguration().getString(
"whirr.hadoop-install-runurl", "apache/hadoop/install");
- byte[] nnjtBootScript = RunUrlBuilder.runUrls(clusterSpec.getRunUrlBase(),
+ Payload nnjtBootScript = newStringPayload(runUrls(clusterSpec.getRunUrlBase(),
"sun/java/install",
String.format("%s nn,jt -c %s", hadoopInstallRunUrl,
- clusterSpec.getProvider()));
+ clusterSpec.getProvider())));
TemplateBuilder masterTemplateBuilder = computeService.templateBuilder()
.osFamily(UBUNTU)
.options(runScript(nnjtBootScript)
- .installPrivateKey(clusterSpec.readPrivateKey())
- .authorizePublicKey(clusterSpec.readPublicKey()));
+ .installPrivateKey(clusterSpec.getPrivateKey())
+ .authorizePublicKey(clusterSpec.getPublicKey()));
// TODO extract this logic elsewhere
if (clusterSpec.getProvider().equals("ec2"))
- masterTemplateBuilder.imageNameMatches(".*10\\.?04.*")
- .osDescriptionMatches("^ubuntu-images.*")
- .architecture(Architecture.X86_32);
+ masterTemplateBuilder.osVersionMatches("10.04")
+ .imageDescriptionMatches(".*ubuntu-images.*")
+ .hardwareId(InstanceType.M1_SMALL);
Template masterTemplate = masterTemplateBuilder.build();
@@ -132,24 +134,24 @@ public class HadoopService extends Servi
}
// Launch slaves (DN and TT)
- byte[] slaveBootScript = RunUrlBuilder.runUrls(clusterSpec.getRunUrlBase(),
+ Payload slaveBootScript = newStringPayload(runUrls(clusterSpec.getRunUrlBase(),
"sun/java/install",
String.format("%s dn,tt -n %s -j %s",
hadoopInstallRunUrl,
namenodePublicAddress.getHostName(),
- jobtrackerPublicAddress.getHostName()));
+ jobtrackerPublicAddress.getHostName())));
TemplateBuilder slaveTemplateBuilder = computeService.templateBuilder()
.osFamily(UBUNTU)
.options(runScript(slaveBootScript)
- .installPrivateKey(clusterSpec.readPrivateKey())
- .authorizePublicKey(clusterSpec.readPublicKey()));
+ .installPrivateKey(clusterSpec.getPrivateKey())
+ .authorizePublicKey(clusterSpec.getPublicKey()));
// TODO extract this logic elsewhere
if (clusterSpec.getProvider().equals("ec2"))
- slaveTemplateBuilder.imageNameMatches(".*10\\.?04.*")
- .osDescriptionMatches("^ubuntu-images.*")
- .architecture(Architecture.X86_32);
+ slaveTemplateBuilder.osVersionMatches("10.04")
+ .imageDescriptionMatches(".*ubuntu-images.*")
+ .hardwareId(InstanceType.M1_SMALL);
Template slaveTemplate = slaveTemplateBuilder.build();
Modified: incubator/whirr/trunk/services/zookeeper/src/main/java/org/apache/whirr/service/zookeeper/ZooKeeperService.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/services/zookeeper/src/main/java/org/apache/whirr/service/zookeeper/ZooKeeperService.java?rev=1000146&r1=1000145&r2=1000146&view=diff
==============================================================================
--- incubator/whirr/trunk/services/zookeeper/src/main/java/org/apache/whirr/service/zookeeper/ZooKeeperService.java (original)
+++ incubator/whirr/trunk/services/zookeeper/src/main/java/org/apache/whirr/service/zookeeper/ZooKeeperService.java Wed Sep 22 19:10:58 2010
@@ -19,9 +19,11 @@
package org.apache.whirr.service.zookeeper;
import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.whirr.service.RunUrlBuilder.runUrls;
import static org.jclouds.compute.domain.OsFamily.UBUNTU;
import static org.jclouds.compute.options.TemplateOptions.Builder.runScript;
import static org.jclouds.compute.predicates.NodePredicates.runningWithTag;
+import static org.jclouds.io.Payloads.newStringPayload;
import java.io.IOException;
import java.net.InetAddress;
@@ -32,19 +34,19 @@ import java.util.Set;
import org.apache.whirr.service.ClusterSpec;
import org.apache.whirr.service.ComputeServiceContextBuilder;
-import org.apache.whirr.service.RunUrlBuilder;
import org.apache.whirr.service.Service;
import org.apache.whirr.service.Cluster.Instance;
import org.apache.whirr.service.ClusterSpec.InstanceTemplate;
import org.apache.whirr.service.jclouds.FirewallSettings;
+import org.jclouds.aws.ec2.domain.InstanceType;
import org.jclouds.compute.ComputeService;
import org.jclouds.compute.ComputeServiceContext;
import org.jclouds.compute.RunNodesException;
import org.jclouds.compute.RunScriptOnNodesException;
-import org.jclouds.compute.domain.Architecture;
import org.jclouds.compute.domain.NodeMetadata;
import org.jclouds.compute.domain.Template;
import org.jclouds.compute.domain.TemplateBuilder;
+import org.jclouds.io.Payload;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
@@ -70,21 +72,21 @@ public class ZooKeeperService extends Se
ComputeServiceContextBuilder.build(clusterSpec);
ComputeService computeService = computeServiceContext.getComputeService();
- byte[] bootScript = RunUrlBuilder.runUrls(clusterSpec.getRunUrlBase(),
+ Payload bootScript = newStringPayload(runUrls(clusterSpec.getRunUrlBase(),
"sun/java/install",
- "apache/zookeeper/install");
+ "apache/zookeeper/install"));
TemplateBuilder templateBuilder = computeService.templateBuilder()
.osFamily(UBUNTU)
.options(runScript(bootScript)
- .installPrivateKey(clusterSpec.readPrivateKey())
- .authorizePublicKey(clusterSpec.readPublicKey()));
+ .installPrivateKey(clusterSpec.getPrivateKey())
+ .authorizePublicKey(clusterSpec.getPublicKey()));
// TODO extract this logic elsewhere
if (clusterSpec.getProvider().equals("ec2"))
- templateBuilder.imageNameMatches(".*10\\.?04.*")
- .osDescriptionMatches("^ubuntu-images.*")
- .architecture(Architecture.X86_32);
+ templateBuilder.osVersionMatches("10.04")
+ .imageDescriptionMatches(".*ubuntu-images.*")
+ .hardwareId(InstanceType.M1_SMALL);
Template template = templateBuilder.build();
@@ -107,8 +109,8 @@ public class ZooKeeperService extends Se
// Pass list of all servers in ensemble to configure script.
// Position is significant: i-th server has id i.
String servers = Joiner.on(' ').join(getPrivateIps(nodes));
- byte[] configureScript = RunUrlBuilder.runUrls(clusterSpec.getRunUrlBase(),
- "apache/zookeeper/post-configure " + servers);
+ Payload configureScript = newStringPayload(runUrls(clusterSpec.getRunUrlBase(),
+ "apache/zookeeper/post-configure " + servers));
try {
computeService.runScriptOnNodesMatching(runningWithTag(clusterSpec.getClusterName()), configureScript);
} catch (RunScriptOnNodesException e) {