mirror of https://github.com/apache/jclouds.git
Merge remote branch 'upstream/master'
This commit is contained in:
commit
a533edc3b3
|
@ -209,13 +209,23 @@ public class EC2HardwareBuilder extends HardwareBuilder {
|
||||||
/**
|
/**
|
||||||
* @see InstanceType#M1_SMALL
|
* @see InstanceType#M1_SMALL
|
||||||
*/
|
*/
|
||||||
public static EC2HardwareBuilder m1_small() {
|
public static EC2HardwareBuilder m1_small32() {
|
||||||
return new EC2HardwareBuilder(InstanceType.M1_SMALL).ram(1740).processors(
|
return new EC2HardwareBuilder(InstanceType.M1_SMALL).ram(1740).processors(
|
||||||
ImmutableList.of(new Processor(1.0, 1.0))).volumes(
|
ImmutableList.of(new Processor(1.0, 1.0))).volumes(
|
||||||
ImmutableList.<Volume> of(new VolumeImpl(10.0f, "/dev/sda1", true, false), new VolumeImpl(150.0f,
|
ImmutableList.<Volume> of(new VolumeImpl(10.0f, "/dev/sda1", true, false), new VolumeImpl(150.0f,
|
||||||
"/dev/sda2", false, false))).is64Bit(false);
|
"/dev/sda2", false, false))).is64Bit(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see InstanceType#M1_SMALL
|
||||||
|
*/
|
||||||
|
public static EC2HardwareBuilder m1_small() {
|
||||||
|
return new EC2HardwareBuilder(InstanceType.M1_SMALL).ram(1740).processors(
|
||||||
|
ImmutableList.of(new Processor(1.0, 1.0))).volumes(
|
||||||
|
ImmutableList.<Volume> of(new VolumeImpl(10.0f, "/dev/sda1", true, false), new VolumeImpl(150.0f,
|
||||||
|
"/dev/sda2", false, false)));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see InstanceType#T1_MICRO
|
* @see InstanceType#T1_MICRO
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -509,6 +509,6 @@ public class EC2TemplateOptions extends TemplateOptions implements Cloneable {
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "[groupIds=" + groupIds + ", keyPair=" + keyPair + ", noKeyPair=" + noKeyPair + ", userData="
|
return "[groupIds=" + groupIds + ", keyPair=" + keyPair + ", noKeyPair=" + noKeyPair + ", userData="
|
||||||
+ Arrays.toString(userData) + ", blockDeviceMappings=" + blockDeviceMappings + "]";
|
+ Arrays.toString(userData) + ", blockDeviceMappings=" + blockDeviceMappings.build() + "]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.ec2.compute.suppliers;
|
package org.jclouds.ec2.compute.suppliers;
|
||||||
|
|
||||||
import static org.jclouds.compute.predicates.ImagePredicates.any;
|
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_medium;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_medium;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_large;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_large;
|
||||||
|
@ -43,7 +42,7 @@ public class EC2HardwareSupplier implements Supplier<Set<? extends Hardware>> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<? extends Hardware> get() {
|
public Set<? extends Hardware> get() {
|
||||||
return ImmutableSet.<Hardware> of(m1_small().supportsImage(any()).build(), c1_medium().build(), c1_xlarge()
|
return ImmutableSet.<Hardware> of(m1_small().build(), c1_medium().build(), c1_xlarge()
|
||||||
.build(), m1_large().build(), m1_xlarge().build());
|
.build(), m1_large().build(), m1_xlarge().build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_medium;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc1_4xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc1_4xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_large;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_large;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_small;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_small32;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_2xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_2xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_4xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_4xlarge;
|
||||||
|
@ -161,7 +161,7 @@ public class EC2TemplateBuilderTest {
|
||||||
.build()));
|
.build()));
|
||||||
Supplier<Set<? extends Hardware>> sizes = Suppliers.<Set<? extends Hardware>> ofInstance(ImmutableSet
|
Supplier<Set<? extends Hardware>> sizes = Suppliers.<Set<? extends Hardware>> ofInstance(ImmutableSet
|
||||||
.<Hardware> of(t1_micro().build(), c1_medium().build(), c1_xlarge().build(), m1_large().build(),
|
.<Hardware> of(t1_micro().build(), c1_medium().build(), c1_xlarge().build(), m1_large().build(),
|
||||||
m1_small().build(), m1_xlarge().build(), m2_xlarge().build(), m2_2xlarge().build(),
|
m1_small32().build(), m1_xlarge().build(), m2_xlarge().build(), m2_2xlarge().build(),
|
||||||
m2_4xlarge().build(), CC1_4XLARGE));
|
m2_4xlarge().build(), CC1_4XLARGE));
|
||||||
|
|
||||||
return new TemplateBuilderImpl(locations, images, sizes, Suppliers.ofInstance(location), optionsProvider,
|
return new TemplateBuilderImpl(locations, images, sizes, Suppliers.ofInstance(location), optionsProvider,
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.ec2.compute.functions;
|
package org.jclouds.ec2.compute.functions;
|
||||||
|
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_small;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_small32;
|
||||||
import static org.testng.Assert.assertEquals;
|
import static org.testng.Assert.assertEquals;
|
||||||
|
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
@ -129,7 +129,7 @@ public class RunningInstanceToNodeMetadataTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApplyWhereTagDoesntMatchAndImageHardwareAndLocationFound() throws UnknownHostException {
|
public void testApplyWhereTagDoesntMatchAndImageHardwareAndLocationFound() throws UnknownHostException {
|
||||||
RunningInstanceToNodeMetadata parser = createNodeParser(ImmutableSet.of(m1_small().build()), ImmutableSet
|
RunningInstanceToNodeMetadata parser = createNodeParser(ImmutableSet.of(m1_small32().build()), ImmutableSet
|
||||||
.of(provider), EC2ImageParserTest.convertImages("/amzn_images.xml"), ImmutableMap
|
.of(provider), EC2ImageParserTest.convertImages("/amzn_images.xml"), ImmutableMap
|
||||||
.<String, Credentials> of());
|
.<String, Credentials> of());
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ public class RunningInstanceToNodeMetadataTest {
|
||||||
|
|
||||||
assertEquals(parser.apply(server), new NodeMetadataBuilder().state(NodeState.RUNNING).privateAddresses(
|
assertEquals(parser.apply(server), new NodeMetadataBuilder().state(NodeState.RUNNING).privateAddresses(
|
||||||
ImmutableSet.of("10.243.42.70")).publicAddresses(ImmutableSet.of("174.129.81.68")).imageId(
|
ImmutableSet.of("10.243.42.70")).publicAddresses(ImmutableSet.of("174.129.81.68")).imageId(
|
||||||
"us-east-1/ami-82e4b5c7").hardware(m1_small().build()).operatingSystem(
|
"us-east-1/ami-82e4b5c7").hardware(m1_small32().build()).operatingSystem(
|
||||||
new OperatingSystem.Builder().family(OsFamily.UNRECOGNIZED).version("").arch("paravirtual").description(
|
new OperatingSystem.Builder().family(OsFamily.UNRECOGNIZED).version("").arch("paravirtual").description(
|
||||||
"137112412989/amzn-ami-0.9.7-beta.i386-ebs").is64Bit(false).build()).id("us-east-1/i-0799056f")
|
"137112412989/amzn-ami-0.9.7-beta.i386-ebs").is64Bit(false).build()).id("us-east-1/i-0799056f")
|
||||||
.providerId("i-0799056f").location(provider).build());
|
.providerId("i-0799056f").location(provider).build());
|
||||||
|
@ -158,7 +158,7 @@ public class RunningInstanceToNodeMetadataTest {
|
||||||
};
|
};
|
||||||
Map<RegionAndName, Image> instanceToImage = new MapMaker().makeComputingMap(nullReturningFunction);
|
Map<RegionAndName, Image> instanceToImage = new MapMaker().makeComputingMap(nullReturningFunction);
|
||||||
|
|
||||||
RunningInstanceToNodeMetadata parser = createNodeParser(ImmutableSet.of(m1_small().build()), ImmutableSet
|
RunningInstanceToNodeMetadata parser = createNodeParser(ImmutableSet.of(m1_small32().build()), ImmutableSet
|
||||||
.of(provider), ImmutableMap.<String, Credentials> of(),
|
.of(provider), ImmutableMap.<String, Credentials> of(),
|
||||||
EC2ComputeServiceDependenciesModule.instanceToNodeState, instanceToImage);
|
EC2ComputeServiceDependenciesModule.instanceToNodeState, instanceToImage);
|
||||||
|
|
||||||
|
@ -167,7 +167,7 @@ public class RunningInstanceToNodeMetadataTest {
|
||||||
assertEquals(parser.apply(server), new NodeMetadataBuilder().state(NodeState.RUNNING).privateAddresses(
|
assertEquals(parser.apply(server), new NodeMetadataBuilder().state(NodeState.RUNNING).privateAddresses(
|
||||||
ImmutableSet.of("10.243.42.70")).publicAddresses(ImmutableSet.of("174.129.81.68")).imageId(
|
ImmutableSet.of("10.243.42.70")).publicAddresses(ImmutableSet.of("174.129.81.68")).imageId(
|
||||||
"us-east-1/ami-82e4b5c7").id("us-east-1/i-0799056f").providerId("i-0799056f").hardware(
|
"us-east-1/ami-82e4b5c7").id("us-east-1/i-0799056f").providerId("i-0799056f").hardware(
|
||||||
m1_small().build()).location(provider).build());
|
m1_small32().build()).location(provider).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected RunningInstance firstInstanceFromResource(String resource) {
|
protected RunningInstance firstInstanceFromResource(String resource) {
|
||||||
|
|
|
@ -69,7 +69,7 @@ public class CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptionsTest {
|
||||||
// setup constants
|
// setup constants
|
||||||
String region = Region.AP_SOUTHEAST_1;
|
String region = Region.AP_SOUTHEAST_1;
|
||||||
String tag = "tag";
|
String tag = "tag";
|
||||||
Hardware size = EC2HardwareBuilder.m1_small().build();
|
Hardware size = EC2HardwareBuilder.m1_small32().build();
|
||||||
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
||||||
String generatedGroup = "group";
|
String generatedGroup = "group";
|
||||||
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
||||||
|
@ -124,7 +124,7 @@ public class CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptionsTest {
|
||||||
// setup constants
|
// setup constants
|
||||||
String region = Region.AP_SOUTHEAST_1;
|
String region = Region.AP_SOUTHEAST_1;
|
||||||
String tag = "tag";
|
String tag = "tag";
|
||||||
Hardware size = EC2HardwareBuilder.m1_small().build();
|
Hardware size = EC2HardwareBuilder.m1_small32().build();
|
||||||
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
||||||
String generatedGroup = "group";
|
String generatedGroup = "group";
|
||||||
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
||||||
|
|
|
@ -159,8 +159,8 @@ public class ElasticStackClientLiveTest {
|
||||||
@Test
|
@Test
|
||||||
public void testGetDrive() throws Exception {
|
public void testGetDrive() throws Exception {
|
||||||
for (String driveUUID : client.listDrives()) {
|
for (String driveUUID : client.listDrives()) {
|
||||||
assert !"".equals(driveUUID);
|
assert !"".equals(driveUUID) : driveUUID;
|
||||||
assertNotNull(client.getDriveInfo(driveUUID));
|
assert client.getDriveInfo(driveUUID) != null : driveUUID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,8 +94,7 @@ public class ParseSystemAndUserMetadataFromHeaders implements Function<HttpRespo
|
||||||
if (lastModified == null) {
|
if (lastModified == null) {
|
||||||
// scaleup-storage uses the wrong case for the last modified header
|
// scaleup-storage uses the wrong case for the last modified header
|
||||||
if ((lastModified = from.getFirstHeaderOrNull("Last-modified")) == null)
|
if ((lastModified = from.getFirstHeaderOrNull("Last-modified")) == null)
|
||||||
throw new HttpException(HttpHeaders.LAST_MODIFIED + " header not present in response: "
|
throw new HttpException(HttpHeaders.LAST_MODIFIED + " header not present in response: " + from);
|
||||||
+ from.getStatusLine());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Walrus
|
// Walrus
|
||||||
|
|
|
@ -18,10 +18,10 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.vcloud.functions;
|
package org.jclouds.vcloud.functions;
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
|
||||||
import static org.jclouds.http.HttpUtils.releasePayload;
|
import static org.jclouds.http.HttpUtils.releasePayload;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.NoSuchElementException;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@ -41,6 +41,8 @@ import org.jclouds.vcloud.endpoints.Org;
|
||||||
import org.jclouds.vcloud.xml.OrgListHandler;
|
import org.jclouds.vcloud.xml.OrgListHandler;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.base.Predicates;
|
||||||
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This parses {@link VCloudSession} from HTTP headers.
|
* This parses {@link VCloudSession} from HTTP headers.
|
||||||
|
@ -49,7 +51,7 @@ import com.google.common.base.Function;
|
||||||
*/
|
*/
|
||||||
@Singleton
|
@Singleton
|
||||||
public class ParseLoginResponseFromHeaders implements Function<HttpResponse, VCloudSession> {
|
public class ParseLoginResponseFromHeaders implements Function<HttpResponse, VCloudSession> {
|
||||||
static final Pattern pattern = Pattern.compile("(vcloud-token=)?([^;]+)(;.*)?");
|
static final Pattern pattern = Pattern.compile("(vcloud-token)=?([^;]+)(;.*)?");
|
||||||
|
|
||||||
private final ParseSax.Factory factory;
|
private final ParseSax.Factory factory;
|
||||||
private final Provider<OrgListHandler> orgHandlerProvider;
|
private final Provider<OrgListHandler> orgHandlerProvider;
|
||||||
|
@ -61,38 +63,45 @@ public class ParseLoginResponseFromHeaders implements Function<HttpResponse, VCl
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parses the http response headers to create a new {@link VCloudSession}
|
* parses the http response headers to create a new {@link VCloudSession} object.
|
||||||
* object.
|
|
||||||
*/
|
*/
|
||||||
public VCloudSession apply(HttpResponse from) {
|
public VCloudSession apply(HttpResponse from) {
|
||||||
String cookieHeader = from.getFirstHeaderOrNull("x-vcloud-authorization");
|
|
||||||
if (cookieHeader == null)
|
|
||||||
cookieHeader = from.getFirstHeaderOrNull(HttpHeaders.SET_COOKIE);
|
|
||||||
checkNotNull(cookieHeader, "Header %s or %s must be present", "x-vcloud-authorization", HttpHeaders.SET_COOKIE);
|
|
||||||
|
|
||||||
final Matcher matcher = pattern.matcher(cookieHeader);
|
|
||||||
boolean matchFound = matcher.find();
|
|
||||||
try {
|
try {
|
||||||
if (matchFound) {
|
final String token = parseTokenFromHeaders(from);
|
||||||
final Map<String, ReferenceType> org = factory.create(orgHandlerProvider.get()).parse(
|
final Map<String, ReferenceType> org = factory.create(orgHandlerProvider.get()).parse(
|
||||||
from.getPayload().getInput());
|
from.getPayload().getInput());
|
||||||
|
|
||||||
return new VCloudSession() {
|
return new VCloudSession() {
|
||||||
@VCloudToken
|
@VCloudToken
|
||||||
public String getVCloudToken() {
|
public String getVCloudToken() {
|
||||||
return matcher.group(2);
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Org
|
@Org
|
||||||
public Map<String, ReferenceType> getOrgs() {
|
public Map<String, ReferenceType> getOrgs() {
|
||||||
return org;
|
return org;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
} finally {
|
} finally {
|
||||||
releasePayload(from);
|
releasePayload(from);
|
||||||
}
|
}
|
||||||
throw new HttpResponseException("x-vcloud-authorization not found ", null, from);
|
}
|
||||||
|
|
||||||
|
public String parseTokenFromHeaders(HttpResponse from) {
|
||||||
|
String cookieHeader = from.getFirstHeaderOrNull("x-vcloud-authorization");
|
||||||
|
if (cookieHeader != null) {
|
||||||
|
Matcher matcher = pattern.matcher(cookieHeader);
|
||||||
|
return matcher.find() ? matcher.group(2) : cookieHeader;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
cookieHeader = Iterables.find(from.getHeaders().get(HttpHeaders.SET_COOKIE), Predicates.contains(pattern));
|
||||||
|
Matcher matcher = pattern.matcher(cookieHeader);
|
||||||
|
matcher.find();
|
||||||
|
return matcher.group(2);
|
||||||
|
} catch (NoSuchElementException e) {
|
||||||
|
throw new HttpResponseException(String.format("Header %s or %s must be present", "x-vcloud-authorization",
|
||||||
|
HttpHeaders.SET_COOKIE), null, from);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ import static org.testng.Assert.assertEquals;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
|
||||||
import org.jclouds.http.HttpResponse;
|
import org.jclouds.http.HttpResponse;
|
||||||
|
import org.jclouds.http.HttpResponseException;
|
||||||
import org.jclouds.http.functions.BaseHandlerTest;
|
import org.jclouds.http.functions.BaseHandlerTest;
|
||||||
import org.jclouds.io.Payloads;
|
import org.jclouds.io.Payloads;
|
||||||
import org.jclouds.vcloud.VCloudMediaType;
|
import org.jclouds.vcloud.VCloudMediaType;
|
||||||
|
@ -54,60 +55,98 @@ public class ParseLoginResponseFromHeadersTest extends BaseHandlerTest {
|
||||||
@Test
|
@Test
|
||||||
public void testApply() {
|
public void testApply() {
|
||||||
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
||||||
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("x-vcloud-authorization",
|
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("x-vcloud-authorization",
|
||||||
"vcloud-token=9er4d061-4bff-48fa-84b1-5da7166764d2; path=/"));
|
"vcloud-token=9er4d061-4bff-48fa-84b1-5da7166764d2; path=/"));
|
||||||
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
||||||
response.getPayload().getContentMetadata().setContentLength(307l);
|
response.getPayload().getContentMetadata().setContentLength(307l);
|
||||||
|
|
||||||
VCloudSession reply = parser.apply(response);
|
VCloudSession reply = parser.apply(response);
|
||||||
assertEquals(reply.getVCloudToken(), "9er4d061-4bff-48fa-84b1-5da7166764d2");
|
assertEquals(reply.getVCloudToken(), "9er4d061-4bff-48fa-84b1-5da7166764d2");
|
||||||
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
||||||
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApplyBlueLock() {
|
public void testApplyBlueLock() {
|
||||||
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
||||||
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("x-vcloud-authorization",
|
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("x-vcloud-authorization",
|
||||||
"MUKOJ2HoAfoMmLnHRp4esNb2MtWscCLLhVysnsIsCG0="));
|
"MUKOJ2HoAfoMmLnHRp4esNb2MtWscCLLhVysnsIsCG0="));
|
||||||
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
||||||
response.getPayload().getContentMetadata().setContentLength(307l);
|
response.getPayload().getContentMetadata().setContentLength(307l);
|
||||||
|
|
||||||
VCloudSession reply = parser.apply(response);
|
VCloudSession reply = parser.apply(response);
|
||||||
assertEquals(reply.getVCloudToken(), "MUKOJ2HoAfoMmLnHRp4esNb2MtWscCLLhVysnsIsCG0=");
|
assertEquals(reply.getVCloudToken(), "MUKOJ2HoAfoMmLnHRp4esNb2MtWscCLLhVysnsIsCG0=");
|
||||||
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
||||||
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApplyTerremark() {
|
public void testApplyTerremark() {
|
||||||
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
||||||
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("Set-Cookie",
|
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("Set-Cookie",
|
||||||
"vcloud-token=37ce2715-9aba-4f48-8e45-2db8a8da702d; path=/"));
|
"vcloud-token=37ce2715-9aba-4f48-8e45-2db8a8da702d; path=/"));
|
||||||
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
||||||
response.getPayload().getContentMetadata().setContentLength(307l);
|
response.getPayload().getContentMetadata().setContentLength(307l);
|
||||||
|
|
||||||
VCloudSession reply = parser.apply(response);
|
VCloudSession reply = parser.apply(response);
|
||||||
assertEquals(reply.getVCloudToken(), "37ce2715-9aba-4f48-8e45-2db8a8da702d");
|
assertEquals(reply.getVCloudToken(), "37ce2715-9aba-4f48-8e45-2db8a8da702d");
|
||||||
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
||||||
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testApplyTerremarkMultipleCookies() {
|
||||||
|
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
||||||
|
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> builder().put("Set-Cookie",
|
||||||
|
"NSC_ESUO_21654_72.46.239.132_443=fooo;expires=Thu, 02-Jun-2011 17:19:26 GMT;path=/;secure;httponly")
|
||||||
|
.put("Set-Cookie", "vcloud-token=37ce2715-9aba-4f48-8e45-2db8a8da702d; path=/").build());
|
||||||
|
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
||||||
|
response.getPayload().getContentMetadata().setContentLength(307l);
|
||||||
|
|
||||||
|
VCloudSession reply = parser.apply(response);
|
||||||
|
assertEquals(reply.getVCloudToken(), "37ce2715-9aba-4f48-8e45-2db8a8da702d");
|
||||||
|
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
||||||
|
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expectedExceptions = HttpResponseException.class)
|
||||||
|
public void testUnmatchedCookieThrowsHttpResponseException() {
|
||||||
|
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
||||||
|
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> builder().put("Set-Cookie",
|
||||||
|
"NSC_ESUO_21654_72.46.239.132_443=fooo;expires=Thu, 02-Jun-2011 17:19:26 GMT;path=/;secure;httponly")
|
||||||
|
.build());
|
||||||
|
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
||||||
|
response.getPayload().getContentMetadata().setContentLength(307l);
|
||||||
|
|
||||||
|
parser.apply(response);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expectedExceptions = HttpResponseException.class)
|
||||||
|
public void testNoThrowsHttpResponseException() {
|
||||||
|
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
||||||
|
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of());
|
||||||
|
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
||||||
|
response.getPayload().getContentMetadata().setContentLength(307l);
|
||||||
|
|
||||||
|
parser.apply(response);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApplyVirtacore() {
|
public void testApplyVirtacore() {
|
||||||
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
HttpResponse response = new HttpResponse(200, "OK", Payloads.newInputStreamPayload(getClass()
|
||||||
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("x-vcloud-authorization",
|
.getResourceAsStream("/orglist.xml")), ImmutableMultimap.<String, String> of("x-vcloud-authorization",
|
||||||
"vcloud-token=IPy0w7UGD4lwtdWAK/ZVzfuLK+dztxGRqsOhWqV0i48="));
|
"vcloud-token=IPy0w7UGD4lwtdWAK/ZVzfuLK+dztxGRqsOhWqV0i48="));
|
||||||
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
response.getPayload().getContentMetadata().setContentType("Content-Type: application/xml; charset=utf-8");
|
||||||
response.getPayload().getContentMetadata().setContentLength(307l);
|
response.getPayload().getContentMetadata().setContentLength(307l);
|
||||||
|
|
||||||
VCloudSession reply = parser.apply(response);
|
VCloudSession reply = parser.apply(response);
|
||||||
assertEquals(reply.getVCloudToken(), "IPy0w7UGD4lwtdWAK/ZVzfuLK+dztxGRqsOhWqV0i48=");
|
assertEquals(reply.getVCloudToken(), "IPy0w7UGD4lwtdWAK/ZVzfuLK+dztxGRqsOhWqV0i48=");
|
||||||
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
assertEquals(reply.getOrgs(), ImmutableMap.of("adrian@jclouds.org", new ReferenceTypeImpl("adrian@jclouds.org",
|
||||||
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
VCloudMediaType.ORG_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/org/48"))));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,11 +18,12 @@
|
||||||
;
|
;
|
||||||
(ns org.jclouds.predicate)
|
(ns org.jclouds.predicate)
|
||||||
|
|
||||||
(defprotocol Predicate
|
(defprotocol Coercions
|
||||||
"Protocol for making a com.google.common.base.Predicate."
|
"Protocol for coercing between predicate-like things, like
|
||||||
|
Clojure fns and com.google.common.base.Predicate."
|
||||||
(to-predicate [p]))
|
(to-predicate [p]))
|
||||||
|
|
||||||
(extend-protocol Predicate
|
(extend-protocol Coercions
|
||||||
clojure.lang.IFn
|
clojure.lang.IFn
|
||||||
(to-predicate [p]
|
(to-predicate [p]
|
||||||
(reify com.google.common.base.Predicate
|
(reify com.google.common.base.Predicate
|
||||||
|
|
|
@ -416,6 +416,7 @@ public class TemplateBuilderImpl implements TemplateBuilder {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TemplateBuilder fromTemplate(Template template) {
|
public TemplateBuilder fromTemplate(Template template) {
|
||||||
|
location = template.getLocation();
|
||||||
fromHardware(template.getHardware());
|
fromHardware(template.getHardware());
|
||||||
fromImage(template.getImage());
|
fromImage(template.getImage());
|
||||||
options(template.getOptions());
|
options(template.getOptions());
|
||||||
|
|
|
@ -33,6 +33,7 @@ import java.util.concurrent.TimeoutException;
|
||||||
|
|
||||||
import org.jclouds.Constants;
|
import org.jclouds.Constants;
|
||||||
import org.jclouds.compute.config.BaseComputeServiceContextModule;
|
import org.jclouds.compute.config.BaseComputeServiceContextModule;
|
||||||
|
import org.jclouds.compute.domain.Hardware;
|
||||||
import org.jclouds.compute.domain.OsFamily;
|
import org.jclouds.compute.domain.OsFamily;
|
||||||
import org.jclouds.compute.domain.OsFamilyVersion64Bit;
|
import org.jclouds.compute.domain.OsFamilyVersion64Bit;
|
||||||
import org.jclouds.compute.domain.Template;
|
import org.jclouds.compute.domain.Template;
|
||||||
|
@ -77,6 +78,35 @@ public abstract class BaseTemplateBuilderLiveTest {
|
||||||
apiversion = System.getProperty("test." + provider + ".apiversion");
|
apiversion = System.getProperty("test." + provider + ".apiversion");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testCompareSizes() throws Exception {
|
||||||
|
Hardware defaultSize = context.getComputeService().templateBuilder().build().getHardware();
|
||||||
|
|
||||||
|
Hardware smallest = context.getComputeService().templateBuilder().smallest().build().getHardware();
|
||||||
|
Hardware fastest = context.getComputeService().templateBuilder().fastest().build().getHardware();
|
||||||
|
Hardware biggest = context.getComputeService().templateBuilder().biggest().build().getHardware();
|
||||||
|
|
||||||
|
System.out.printf("smallest %s%n", smallest);
|
||||||
|
System.out.printf("fastest %s%n", fastest);
|
||||||
|
System.out.printf("biggest %s%n", biggest);
|
||||||
|
|
||||||
|
assertEquals(defaultSize, smallest);
|
||||||
|
|
||||||
|
assert getCores(smallest) <= getCores(fastest) : String.format("%s ! <= %s", smallest, fastest);
|
||||||
|
assert getCores(biggest) <= getCores(fastest) : String.format("%s ! <= %s", biggest, fastest);
|
||||||
|
|
||||||
|
assert biggest.getRam() >= fastest.getRam() : String.format("%s ! >= %s", biggest, fastest);
|
||||||
|
assert biggest.getRam() >= smallest.getRam() : String.format("%s ! >= %s", biggest, smallest);
|
||||||
|
|
||||||
|
assert getCores(fastest) >= getCores(biggest) : String.format("%s ! >= %s", fastest, biggest);
|
||||||
|
assert getCores(fastest) >= getCores(smallest) : String.format("%s ! >= %s", fastest, smallest);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testFromTemplate() {
|
||||||
|
Template defaultTemplate = context.getComputeService().templateBuilder().build();
|
||||||
|
assertEquals(context.getComputeService().templateBuilder().fromTemplate(defaultTemplate).build().toString(),
|
||||||
|
defaultTemplate.toString());
|
||||||
|
}
|
||||||
|
|
||||||
protected Properties setupProperties() {
|
protected Properties setupProperties() {
|
||||||
Properties overrides = new Properties();
|
Properties overrides = new Properties();
|
||||||
overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
|
overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
|
||||||
|
|
|
@ -24,7 +24,7 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_medium;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c1_xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc1_4xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc1_4xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_large;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_large;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_small;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_small32;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m1_xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_2xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_2xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_4xlarge;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m2_4xlarge;
|
||||||
|
@ -82,7 +82,7 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
|
||||||
sizes.add(cc1_4xlarge().location(location).supportsImageIds(ccAmi).build());
|
sizes.add(cc1_4xlarge().location(location).supportsImageIds(ccAmi).build());
|
||||||
}
|
}
|
||||||
sizes.addAll(ImmutableSet.<Hardware> of(t1_micro().build(), c1_medium().build(), c1_xlarge().build(), m1_large()
|
sizes.addAll(ImmutableSet.<Hardware> of(t1_micro().build(), c1_medium().build(), c1_xlarge().build(), m1_large()
|
||||||
.build(), m1_small().build(), m1_xlarge().build(), m2_xlarge().build(), m2_2xlarge().build(),
|
.build(), m1_small32().build(), m1_xlarge().build(), m2_xlarge().build(), m2_2xlarge().build(),
|
||||||
m2_4xlarge().build()));
|
m2_4xlarge().build()));
|
||||||
return sizes.build();
|
return sizes.build();
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ public class AWSEC2TemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
|
||||||
.osVersionMatches("1[10].[10][04]").imageDescriptionMatches("ubuntu-images").osFamily(OsFamily.UBUNTU).build();
|
.osVersionMatches("1[10].[10][04]").imageDescriptionMatches("ubuntu-images").osFamily(OsFamily.UBUNTU).build();
|
||||||
|
|
||||||
assert (template.getImage().getProviderId().startsWith("ami-")) : template;
|
assert (template.getImage().getProviderId().startsWith("ami-")) : template;
|
||||||
assertEquals(template.getImage().getOperatingSystem().getVersion(), "10.10");
|
assertEquals(template.getImage().getOperatingSystem().getVersion(), "11.04");
|
||||||
assertEquals(template.getImage().getOperatingSystem().is64Bit(), false);
|
assertEquals(template.getImage().getOperatingSystem().is64Bit(), false);
|
||||||
assertEquals(template.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
assertEquals(template.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
||||||
assertEquals(template.getImage().getUserMetadata().get("rootDeviceType"), "instance-store");
|
assertEquals(template.getImage().getUserMetadata().get("rootDeviceType"), "instance-store");
|
||||||
|
|
|
@ -73,7 +73,7 @@ public class CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptionsT
|
||||||
// setup constants
|
// setup constants
|
||||||
String region = Region.AP_SOUTHEAST_1;
|
String region = Region.AP_SOUTHEAST_1;
|
||||||
String group = "group";
|
String group = "group";
|
||||||
Hardware size = EC2HardwareBuilder.m1_small().build();
|
Hardware size = EC2HardwareBuilder.m1_small32().build();
|
||||||
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
||||||
String generatedGroup = "group";
|
String generatedGroup = "group";
|
||||||
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
||||||
|
@ -262,7 +262,7 @@ public class CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptionsT
|
||||||
// setup constants
|
// setup constants
|
||||||
String region = Region.AP_SOUTHEAST_1;
|
String region = Region.AP_SOUTHEAST_1;
|
||||||
String group = "group";
|
String group = "group";
|
||||||
Hardware size = EC2HardwareBuilder.m1_small().build();
|
Hardware size = EC2HardwareBuilder.m1_small32().build();
|
||||||
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
||||||
|
|
||||||
// create mocks
|
// create mocks
|
||||||
|
@ -320,7 +320,7 @@ public class CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptionsT
|
||||||
// setup constants
|
// setup constants
|
||||||
String region = Region.AP_SOUTHEAST_1;
|
String region = Region.AP_SOUTHEAST_1;
|
||||||
String group = "group";
|
String group = "group";
|
||||||
Hardware size = EC2HardwareBuilder.m1_small().build();
|
Hardware size = EC2HardwareBuilder.m1_small32().build();
|
||||||
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
String systemGeneratedKeyPairName = "systemGeneratedKeyPair";
|
||||||
String generatedGroup = "group";
|
String generatedGroup = "group";
|
||||||
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
Set<String> generatedGroups = ImmutableSet.of(generatedGroup);
|
||||||
|
|
|
@ -24,10 +24,13 @@ import static org.testng.Assert.assertEquals;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.jclouds.aws.util.AWSUtils;
|
||||||
import org.jclouds.compute.BaseTemplateBuilderLiveTest;
|
import org.jclouds.compute.BaseTemplateBuilderLiveTest;
|
||||||
import org.jclouds.compute.domain.OsFamily;
|
import org.jclouds.compute.domain.OsFamily;
|
||||||
import org.jclouds.compute.domain.OsFamilyVersion64Bit;
|
import org.jclouds.compute.domain.OsFamilyVersion64Bit;
|
||||||
import org.jclouds.compute.domain.Template;
|
import org.jclouds.compute.domain.Template;
|
||||||
|
import org.jclouds.domain.LocationScope;
|
||||||
|
import org.jclouds.ec2.compute.util.EC2ComputeUtils;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
|
@ -68,16 +71,18 @@ public class EucalyptusPartnerCloudEucalyptusTemplateBuilderLiveTest extends Bas
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDefaultTemplateBuilder() throws IOException {
|
public void testDefaultTemplateBuilder() throws IOException {
|
||||||
|
|
||||||
Template defaultTemplate = context.getComputeService().templateBuilder().build();
|
Template defaultTemplate = context.getComputeService().templateBuilder().build();
|
||||||
assert (defaultTemplate.getImage().getProviderId().startsWith("emi-")) : defaultTemplate;
|
assert (defaultTemplate.getImage().getProviderId().startsWith("emi-")) : defaultTemplate;
|
||||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.04");
|
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.04");
|
||||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
||||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
||||||
assertEquals(defaultTemplate.getImage().getUserMetadata().get("rootDeviceType"), "instance-store");
|
assertEquals(defaultTemplate.getImage().getUserMetadata().get("rootDeviceType"), "instance-store");
|
||||||
|
assertEquals(defaultTemplate.getHardware().getId(), "m1.small");
|
||||||
assertEquals(defaultTemplate.getLocation().getId(), "kvm-cluster");
|
assertEquals(defaultTemplate.getLocation().getId(), "kvm-cluster");
|
||||||
assertEquals(getCores(defaultTemplate.getHardware()), 2.0d);
|
assertEquals(defaultTemplate.getLocation().getScope(), LocationScope.ZONE);
|
||||||
|
assertEquals(AWSUtils.getRegionFromLocationOrNull(defaultTemplate.getLocation()), "Eucalyptus");
|
||||||
|
assertEquals(EC2ComputeUtils.getZoneFromLocationOrNull(defaultTemplate.getLocation()), "kvm-cluster");
|
||||||
|
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue