Issue 130: corrected type where UMBUNTU should have been UBUNTU, started integrating cargo

git-svn-id: http://jclouds.googlecode.com/svn/trunk@2630 3d8758e0-26b5-11de-8745-db77d3ebf521
This commit is contained in:
adrian.f.cole 2010-01-11 05:57:07 +00:00
parent 340d58e030
commit befd1f0a4e
15 changed files with 213 additions and 90 deletions

View File

@ -83,7 +83,7 @@ public class EC2ComputeService implements ComputeService {
}
private Map<Image, String> imageAmiIdMap = ImmutableMap.<Image, String> builder().put(
Image.UMBUNTU_90, "ami-7e28ca17").put(Image.RHEL_53, "ami-368b685f").build();// todo ami
Image.UBUNTU_90, "ami-7e28ca17").put(Image.RHEL_53, "ami-368b685f").build();// todo ami
// matrix of
// region
// 32/64 bit
@ -107,8 +107,11 @@ public class EC2ComputeService implements ComputeService {
createSecurityGroup(securityGroupName, 22, 80, 8080, 443);
String script = new ScriptBuilder() // update and install jdk
.addStatement(exec("runurl run.alestic.com/apt/upgrade"))//
.addStatement(exec("apt-get update"))//
.addStatement(exec("apt-get upgrade -y"))//
.addStatement(exec("apt-get install -y openjdk-6-jdk"))//
.addStatement(exec("wget -qO/usr/bin/runurl run.alestic.com/runurl"))//
.addStatement(exec("chmod 755 /usr/bin/runurl"))//
.build(OsFamily.UNIX);
logger.debug(">> running instance ami(%s) type(%s) keyPair(%s) securityGroup(%s)", ami, type,

View File

@ -22,7 +22,6 @@ import static org.jclouds.aws.sqs.options.ListQueuesOptions.Builder.queuePrefix;
import java.util.Set;
import java.util.SortedSet;
import java.util.Map.Entry;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
@ -33,7 +32,6 @@ import org.jclouds.enterprise.config.EnterpriseConfigurationModule;
import org.jclouds.logging.config.NullLoggingModule;
import org.jclouds.rest.RestContext;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import com.google.common.util.concurrent.ListenableFuture;
@ -56,86 +54,78 @@ public class SpeedTest {
if (args.length < PARAMETERS)
throw new IllegalArgumentException(INVALID_SYNTAX);
boolean isEnterprise = System.getProperties().containsKey("jclouds.enterprise");
// Args
String accesskeyid = args[0];
String secretkey = args[1];
String queueName = args[2];
int messageCount = Integer.parseInt(args[3]);
RestContext<SQSAsyncClient, SQSClient> nullLoggingDefaultContext = SQSContextFactory
RestContext<SQSAsyncClient, SQSClient> context = isEnterprise ? SQSContextFactory
.createContext(System.getProperties(), accesskeyid, secretkey,
new NullLoggingModule(), new EnterpriseConfigurationModule())
: SQSContextFactory.createContext(System.getProperties(), accesskeyid, secretkey,
new NullLoggingModule());
RestContext<SQSAsyncClient, SQSClient> nullLoggingEnterpriseContext = SQSContextFactory
.createContext(System.getProperties(), accesskeyid, secretkey,
new NullLoggingModule(), new EnterpriseConfigurationModule());
try {
Set<Queue> queues = Sets.newHashSet();
if (purgeQueues(queueName, nullLoggingDefaultContext)) {
if (purgeQueues(queueName, context)) {
System.out.printf("pausing 60 seconds before recreating queues%n");
Thread.sleep(60 * 1000);
}
createQueues(queueName, nullLoggingDefaultContext, queues);
runTests(messageCount, nullLoggingDefaultContext, nullLoggingEnterpriseContext, queues);
createQueues(queueName, context, queues);
runTests(messageCount, isEnterprise ? "enterprise" : "default", context, queues);
} finally {
purgeQueues(queueName, nullLoggingDefaultContext);
purgeQueues(queueName, context);
// Close connectons
nullLoggingDefaultContext.close();
nullLoggingEnterpriseContext.close();
context.close();
System.exit(0);
}
}
private static void runTests(int messageCount,
RestContext<SQSAsyncClient, SQSClient> nullLoggingDefaultContext,
RestContext<SQSAsyncClient, SQSClient> nullLoggingEnterpriseContext, Set<Queue> queues)
private static void runTests(int messageCount, String contextName,
RestContext<SQSAsyncClient, SQSClient> context, Set<Queue> queues)
throws InterruptedException {
String message = "1";
long timeOut = messageCount * 200; // minimum rate should be at least 5/second
for (Entry<String, RestContext<SQSAsyncClient, SQSClient>> entry : ImmutableMap
.<String, RestContext<SQSAsyncClient, SQSClient>> of("enterprise",
nullLoggingEnterpriseContext, "default", nullLoggingDefaultContext)
.entrySet()) {
for (Queue queue : queues) {
for (Queue queue : queues) {
int complete = 0;
int errors = 0;
long start = System.currentTimeMillis();
int complete = 0;
int errors = 0;
Set<ListenableFuture<byte[]>> responses = Sets.newHashSet();
long start = System.currentTimeMillis();
for (int i = 0; i < messageCount; i++) {
responses.add(entry.getValue().getAsyncApi().sendMessage(queue, message));
}
do {
Set<ListenableFuture<byte[]>> retries = Sets.newHashSet();
for (ListenableFuture<byte[]> response : responses) {
try {
response.get(100, TimeUnit.MILLISECONDS);
complete++;
} catch (ExecutionException e) {
System.err.println(e.getMessage());
errors++;
} catch (TimeoutException e) {
retries.add(response);
}
}
responses = Sets.newHashSet(retries);
} while (responses.size() > 0 && System.currentTimeMillis() < start + timeOut);
long duration = System.currentTimeMillis() - start;
if (duration > timeOut)
System.out.printf("TIMEOUT: context: %s, region: %s, rate: %f messages/second%n",
entry.getKey(), queue.getRegion(), ((double) complete)
/ (duration / 1000.0));
else
System.out.printf("COMPLETE: context: %s, region: %s, rate: %f messages/second%n",
entry.getKey(), queue.getRegion(), ((double) complete)
/ (duration / 1000.0));
System.out.println("pausing 5 seconds before the next run");
System.gc();
Thread.sleep(5000);// let the network quiet down
// fire off all the messages for the test
Set<ListenableFuture<byte[]>> responses = Sets.newHashSet();
for (int i = 0; i < messageCount; i++) {
responses.add(context.getAsyncApi().sendMessage(queue, message));
}
do {
Set<ListenableFuture<byte[]>> retries = Sets.newHashSet();
for (ListenableFuture<byte[]> response : responses) {
try {
response.get(100, TimeUnit.MILLISECONDS);
complete++;
} catch (ExecutionException e) {
System.err.println(e.getMessage());
errors++;
} catch (TimeoutException e) {
retries.add(response);
}
}
responses = Sets.newHashSet(retries);
} while (responses.size() > 0 && System.currentTimeMillis() < start + timeOut);
long duration = System.currentTimeMillis() - start;
if (duration > timeOut)
System.out.printf("TIMEOUT: context: %s, region: %s, rate: %f messages/second%n",
contextName, queue.getRegion(), ((double) complete) / (duration / 1000.0));
else
System.out.printf("COMPLETE: context: %s, region: %s, rate: %f messages/second%n",
contextName, queue.getRegion(), ((double) complete) / (duration / 1000.0));
System.gc();
System.out.println("pausing 5 seconds before the next run");
Thread.sleep(5000);// let the network quiet down
}
}

View File

@ -22,5 +22,5 @@ package org.jclouds.compute.domain;
* @author Adrian Cole
*/
public enum Image {
CENTOS_53, RHEL_53, UMBUNTU_90, UMBUNTU_JEOS
CENTOS_53, RHEL_53, UBUNTU_90, UBUNTU_JEOS
}

View File

@ -51,7 +51,7 @@ public class RimuHostingComputeService implements ComputeService {
}
private Map<Image, String> imageNameMap = ImmutableMap.<Image, String> builder().put(
Image.CENTOS_53, "centos53").put(Image.UMBUNTU_90, "ubuntu904").build();
Image.CENTOS_53, "centos53").put(Image.UBUNTU_90, "ubuntu904").build();
private Map<Profile, String> profileNameMap = ImmutableMap.<Profile, String> builder().put(
Profile.SMALLEST, "MIRO1B").build();

View File

@ -63,7 +63,7 @@
<target name="create" description="create the server ${jclouds.compute.servername}" >
<compute action="create" provider="${jclouds.compute.url}">
<server name="${jclouds.compute.servername}" image="CENTOS_53" profile="SMALLEST" />
<server name="${jclouds.compute.servername}" image="UBUNTU_90" profile="SMALLEST" />
</compute>
</target>

View File

@ -0,0 +1,5 @@
host=localhost
username=${user.name}
keyfile=${user.home}/.ssh/id_dsa
account=email@registered.with.terremark.org
key=your_password

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2009 Cloud Conscious, LLC. <info@cloudconscious.com>
====================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
====================================================================
-->
<project xmlns:artifact="urn:maven-artifact-ant" name="cargooverssh" default="cargooverssh" basedir=".">
<property file="build.properties" />
<input message="Please enter the ip or hostname of the ssh machine" addproperty="host"/>
<input message="Please enter the user you will connect as" addproperty="username"/>
<input message="Please enter the path to the dsa key" addproperty="keyfile"/>
<!-- maven must be available before we use it -->
<delete dir="build/cargo"/>
<mkdir dir="build/cargo"/>
<get src="http://apache.imghat.com/maven/binaries/maven-ant-tasks-2.1.0.jar" dest="build/maven-ant-tasks-2.1.0.jar"/>
<get src="http://web-actions.googlecode.com/files/samples-blazeds.war" dest="build/samples-blazeds.war"/>
<!-- initialize maven tasks -->
<path id="maven-ant-tasks.classpath" path="build/maven-ant-tasks-2.1.0.jar"/>
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpathref="maven-ant-tasks.classpath"/>
<artifact:localRepository id="local.repository" path="${user.home}/.m2/repository"/>
<artifact:remoteRepository id="jclouds-snapshot.repository" url="http://jclouds.rimuhosting.com/maven2/snapshots"/>
<!-- Setup maven so that we can get latest version of jclouds, jclouds, and jruby -->
<artifact:dependencies pathId="jclouds.classpath">
<dependency groupid="org.codehaus.cargo" artifactId="cargo-ant" version="1.0.1-SNAPSHOT"/>
<dependency groupid="org.codehaus.cargo" artifactId="cargo-core-container-tomcat" version="1.0.1-SNAPSHOT"/>
<dependency groupId="org.jclouds" artifactId="jclouds-terremark" version="1.0-SNAPSHOT"/>
<dependency groupId="org.jclouds" artifactId="jclouds-ant-plugin" version="1.0-SNAPSHOT"/>
<dependency groupId="org.jclouds" artifactId="jclouds-antcontrib" version="1.0-SNAPSHOT"/>
<remoteRepository refid="jclouds-snapshot.repository"/>
<localRepository refid="local.repository"/>
</artifact:dependencies>
<typedef name="compute" classname="org.jclouds.tools.ant.ComputeTask" classpathref="jclouds.classpath"/>
<taskdef resource="cargo.tasks" classpathref="jclouds.classpath"/>
<property name="service" value="terremark"/>
<input message="What is your account on ${service}?" addproperty="account"/>
<input message="What is the key for ${account}?" addproperty="key"/>
<property name="jclouds.compute.url" value="compute://${account}:${key}@${service}"/>
<target name="boo">
<input message="What is the container you wish to store ${zip} in?" addproperty="container"/>
</target>
<target name="cargooverssh">
<compute action="list-details" provider="${jclouds.compute.url}"/>
<cargo containerId="tomcat6x" output="build/output.log" log="build/cargo.log" action="start">
<sysproperty key="myproperty" value="myvalue"/>
<zipurlinstaller installurl="http://www.alliedquotes.com/mirrors/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip"/>
<configuration home="build/cargo" type="standalone">
<property name="cargo.servlet.port" value="8080"/>
<property name="cargo.logging" value="high"/>
<deployable type="war" file="build/samples-blazeds.war"/>
</configuration>
</cargo>
</target>
</project>

View File

@ -51,7 +51,6 @@ import org.jclouds.scriptbuilder.domain.Statement;
import org.jclouds.scriptbuilder.domain.StatementList;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
@ -70,18 +69,21 @@ public class SSHJava extends Java {
private File localDirectory;
private File remotebase;
private File remotedir;
private Environment env = new Environment();
@VisibleForTesting
Environment env = new Environment();
private OsFamily osFamily = OsFamily.UNIX;
private File errorFile;
private String errorProperty;
private File outputFile;
private String outputProperty;
private String id = "javassh" + new SecureRandom().nextLong();
private String id = "sshjava" + new SecureRandom().nextLong();
private boolean append;
@VisibleForTesting
final Map<String, String> shiftMap = Maps.newHashMap();
@VisibleForTesting
final Map<String, String> replace = Maps.newHashMap();
public SSHJava() {
super();
@ -114,9 +116,12 @@ public class SSHJava extends Java {
throw new BuildException(e);
}
}
if (remotedir == null)
remotedir = new File(remotebase, id);
replace.put(localDirectory.getAbsolutePath(), remotedir.getAbsolutePath());
if (osFamily == OsFamily.UNIX) {
log("removing old contents: " + remotedir.getAbsolutePath(), Project.MSG_VERBOSE);
sshexec(exec("rm -rf " + remotedir.getAbsolutePath()).render(osFamily));
@ -266,11 +271,21 @@ public class SSHJava extends Java {
}
String reprefix(String in) {
log("comparing: " + in, Project.MSG_DEBUG);
for (Entry<String, String> entry : shiftMap.entrySet()) {
if (in.startsWith(entry.getKey()))
if (in.startsWith(entry.getKey())) {
log("match shift map: " + entry.getKey(), Project.MSG_DEBUG);
in = remotebase + ShellToken.FS.to(osFamily) + entry.getValue()
+ in.substring(entry.getKey().length());
}
}
for (Entry<String, String> entry : replace.entrySet()) {
if (in.startsWith(entry.getKey())) {
log("match replaceMap: " + entry.getKey(), Project.MSG_DEBUG);
in = entry.getValue() + in.substring(entry.getKey().length());
}
}
log("now: " + in, Project.MSG_DEBUG);
return in;
}
@ -283,7 +298,7 @@ public class SSHJava extends Java {
for (int i = 0; i < environment.length; i++) {
log("Setting environment variable: " + environment[i], Project.MSG_DEBUG);
String[] keyValue = environment[i].split("=");
envVariables.put(keyValue[0], keyValue[1]);
envVariables.put(keyValue[0], reprefix(keyValue[1]));
}
}
@ -296,8 +311,7 @@ public class SSHJava extends Java {
if (commandLine.getVmCommand().getArguments() != null
&& commandLine.getVmCommand().getArguments().length > 0) {
commandBuilder.append(" ").append(
Joiner.on(' ').join(commandLine.getVmCommand().getArguments()));
reprefixArgs(commandLine.getVmCommand().getArguments(), commandBuilder);
}
commandBuilder.append(" -cp classpath");
resetPathToUnderPrefixIfExistsAndIsFileIfNotExistsAddAsIs(commandLine.getClasspath(),
@ -306,22 +320,38 @@ public class SSHJava extends Java {
if (commandLine.getSystemProperties() != null
&& commandLine.getSystemProperties().getVariables() != null
&& commandLine.getSystemProperties().getVariables().length > 0) {
commandBuilder.append(" ").append(
Joiner.on(' ').join(commandLine.getSystemProperties().getVariables()));
reprefixValues(commandLine.getSystemProperties().getVariables(), commandBuilder);
}
commandBuilder.append(" ").append(commandLine.getClassname());
if (commandLine.getJavaCommand().getArguments() != null
&& commandLine.getJavaCommand().getArguments().length > 0) {
commandBuilder.append(" ").append(
Joiner.on(' ').join(commandLine.getJavaCommand().getArguments()));
reprefixArgs(commandLine.getJavaCommand().getArguments(), commandBuilder);
}
InitBuilder testInitBuilder = new InitBuilder(id, basedir, basedir, envVariables,
commandBuilder.toString());
String script = testInitBuilder.build(osFamily);
return reprefix(script);
return testInitBuilder.build(osFamily);
}
private void reprefixValues(String[] variables, StringBuilder commandBuilder) {
for (String variable : variables) {
commandBuilder.append(" ");
String[] keyValue = variable.split("=");
if (keyValue.length == 2) {
String newVariable = keyValue[0] + '=' + reprefix(keyValue[1]);
commandBuilder.append(newVariable);
} else {
commandBuilder.append(variable);
}
}
}
private void reprefixArgs(String[] args, StringBuilder commandBuilder) {
for (String arg : args) {
commandBuilder.append(" ").append(reprefix(arg));
}
}
@Override
@ -508,8 +538,10 @@ public class SSHJava extends Java {
@Override
public void addSysproperty(Variable sysp) {
if (sysp.getKey().startsWith("sshjava.map.")) {
shiftMap.put(sysp.getKey().replaceFirst("sshjava.map.", ""), sysp.getValue());
if (sysp.getKey().startsWith("sshjava.shift.")) {
shiftMap.put(sysp.getKey().replaceFirst("sshjava.shift.", ""), sysp.getValue());
} else if (sysp.getKey().startsWith("sshjava.replace.")) {
replace.put(sysp.getKey().replaceFirst("sshjava.replace.", ""), sysp.getValue());
} else if (sysp.getKey().equals("sshjava.id")) {
setId(sysp.getValue());
} else if (sysp.getKey().equals("sshjava.remotebase")) {

View File

@ -32,11 +32,15 @@ import org.apache.tools.ant.taskdefs.Java;
import org.apache.tools.ant.types.Environment;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.Environment.Variable;
import org.jclouds.scriptbuilder.domain.OsFamily;
import org.jclouds.tools.ant.TestClass;
import org.testng.annotations.Test;
import com.google.common.base.Charsets;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.io.CharStreams;
import com.google.common.io.Resources;
/**
* @author Adrian Cole
@ -47,11 +51,17 @@ public class SSHJavaTest {
.entrySet());
// TODO, this test will break in windows
public void testShift() throws SecurityException, NoSuchMethodException {
@Test(enabled = false, groups = { "live" })
public void testShift() throws SecurityException, NoSuchMethodException, IOException {
SSHJava task = makeSSHJava();
task = directoryShift(task);
assertEquals(task.shiftMap, ImmutableMap.<String, String> of(System.getProperty("user.home")
+ "/apache-maven-2.2.1", "maven"));
assertEquals(task.replace, ImmutableMap.<String, String> of(System.getProperty("user.name"),
"root"));
assertEquals(task.createInitScript(OsFamily.UNIX, "1", "remotedir", task.env, task
.getCommandLine()), CharStreams.toString(Resources.newReaderSupplier(Resources
.getResource("init.sh"), Charsets.UTF_8)));
}
private Java populateTask(Java task) {
@ -155,7 +165,7 @@ public class SSHJavaTest {
private <T extends Java> T directoryShift(T java) {
Variable prop1 = new Environment.Variable();
prop1.setKey("sshjava.map." + System.getProperty("user.home") + "/apache-maven-2.2.1");
prop1.setKey("sshjava.shift." + System.getProperty("user.home") + "/apache-maven-2.2.1");
prop1.setValue("maven");
java.addSysproperty(prop1);
Variable prop2 = new Environment.Variable();
@ -166,6 +176,14 @@ public class SSHJavaTest {
prop3.setKey("appHome");
prop3.setValue(System.getProperty("user.home") + "/apache-maven-2.2.1");
java.addSysproperty(prop3);
Variable prop4 = new Environment.Variable();
prop4.setKey("sshjava.replace." + System.getProperty("user.name"));
prop4.setValue("root");
java.addSysproperty(prop4);
Variable prop5 = new Environment.Variable();
prop5.setKey("username");
prop5.setValue(System.getProperty("user.name"));
java.addSysproperty(prop5);
return java;
}
}

View File

@ -56,8 +56,8 @@ public class VCloudComputeClient {
}
private Map<Image, String> imageCatalogIdMap = ImmutableMap.<Image, String> builder().put(
Image.CENTOS_53, "3").put(Image.RHEL_53, "8").put(Image.UMBUNTU_90, "10").put(
Image.UMBUNTU_JEOS, "11").build();
Image.CENTOS_53, "3").put(Image.RHEL_53, "8").put(Image.UBUNTU_90, "10").put(
Image.UBUNTU_JEOS, "11").build();
public Map<String, String> start(String name, Image image, int minCores, int minMegs,
long diskSize, Map<String, String> properties) {

View File

@ -76,8 +76,8 @@ public class VCloudComputeClientLiveTest {
new Expectation(4194304 / 2 * 10, "Red Hat Enterprise Linux 5 (64-bit)")).put(
Image.RHEL_53,
new Expectation(4194304 / 2 * 10, "Red Hat Enterprise Linux 5 (64-bit)")).put(
Image.UMBUNTU_90, new Expectation(4194304, "Ubuntu Linux (64-bit)")).put(
Image.UMBUNTU_JEOS, new Expectation(4194304, "Ubuntu Linux (32-bit)")).build();
Image.UBUNTU_90, new Expectation(4194304, "Ubuntu Linux (64-bit)")).put(
Image.UBUNTU_JEOS, new Expectation(4194304, "Ubuntu Linux (32-bit)")).build();
private Predicate<InetAddress> addressTester;

View File

@ -58,8 +58,8 @@ public class HostingDotComVCloudComputeClient {
}
private Map<Image, String> imageCatalogIdMap = ImmutableMap.<Image, String> builder().put(
Image.CENTOS_53, "3").put(Image.RHEL_53, "8").put(Image.UMBUNTU_90, "10").put(
Image.UMBUNTU_JEOS, "11").build();
Image.CENTOS_53, "3").put(Image.RHEL_53, "8").put(Image.UBUNTU_90, "10").put(
Image.UBUNTU_JEOS, "11").build();
public Map<String, String> start(String name, Image image, int minCores, int minMegs,
long diskSize, Map<String, String> properties) {

View File

@ -78,8 +78,8 @@ public class HostingDotComVCloudComputeClientLiveTest {
new Expectation(4194304 / 2 * 10, "Red Hat Enterprise Linux 5 (64-bit)")).put(
Image.RHEL_53,
new Expectation(4194304 / 2 * 10, "Red Hat Enterprise Linux 5 (64-bit)")).put(
Image.UMBUNTU_90, new Expectation(4194304, "Ubuntu Linux (64-bit)")).put(
Image.UMBUNTU_JEOS, new Expectation(4194304, "Ubuntu Linux (32-bit)")).build();
Image.UBUNTU_90, new Expectation(4194304, "Ubuntu Linux (64-bit)")).put(
Image.UBUNTU_JEOS, new Expectation(4194304, "Ubuntu Linux (32-bit)")).build();
private Predicate<InetAddress> addressTester;

View File

@ -66,8 +66,8 @@ public class TerremarkVCloudComputeClient {
}
private Map<Image, String> imageCatalogIdMap = ImmutableMap.<Image, String> builder().put(
Image.CENTOS_53, "6").put(Image.RHEL_53, "8").put(Image.UMBUNTU_90, "10").put(
Image.UMBUNTU_JEOS, "11").build();
Image.CENTOS_53, "6").put(Image.RHEL_53, "8").put(Image.UBUNTU_90, "10").put(
Image.UBUNTU_JEOS, "11").build();
public String start(String name, Image image, int minCores, int minMegs,
Map<String, String> properties) {

View File

@ -76,8 +76,8 @@ public class TerremarkVCloudComputeClientLiveTest {
private Map<Image, Expectation> expectationMap = ImmutableMap.<Image, Expectation> builder()
.put(Image.CENTOS_53, new Expectation(10485760, "Red Hat Enterprise Linux 5 (64-bit)"))
.put(Image.RHEL_53, new Expectation(10485760, "Red Hat Enterprise Linux 5 (64-bit)"))
.put(Image.UMBUNTU_90, new Expectation(4194304, "Ubuntu Linux (64-bit)")).put(
Image.UMBUNTU_JEOS, new Expectation(4194304, "Ubuntu Linux (32-bit)")).build();
.put(Image.UBUNTU_90, new Expectation(4194304, "Ubuntu Linux (64-bit)")).put(
Image.UBUNTU_JEOS, new Expectation(4194304, "Ubuntu Linux (32-bit)")).build();
private Predicate<InetAddress> addressTester;