mirror of https://github.com/apache/jclouds.git
Issue 512: aws-ec2 compute cluster size -> amzn linux
This commit is contained in:
parent
72e93e96d4
commit
41ed21d5b0
|
@ -51,7 +51,7 @@ public class AWSEC2PropertiesBuilder extends org.jclouds.ec2.EC2PropertiesBuilde
|
|||
// amazon, alestic, canonical, and rightscale
|
||||
properties.setProperty(PROPERTY_EC2_AMI_OWNERS, "137112412989,063491364108,099720109477,411009282317");
|
||||
// amis that work with the cluster instances
|
||||
properties.setProperty(PROPERTY_EC2_CC_AMIs, "us-east-1/ami-7ea24a17");
|
||||
properties.setProperty(PROPERTY_EC2_CC_AMIs, "us-east-1/ami-321eed5b,us-east-1/ami-7ea24a17");
|
||||
return properties;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ public class AWSEC2ReviseParsedImage implements ReviseParsedImage {
|
|||
// amzn-ami-us-east-1/amzn-ami-0.9.7-beta.x86_64.manifest.xml
|
||||
// amzn-ami-us-east-1/amzn-ami-0.9.7-beta.i386.manifest.xml
|
||||
public static final Pattern AMZN_PATTERN = Pattern
|
||||
.compile(".*/amzn-ami-(.*)\\.(i386|x86_64)(-ebs|\\.manifest.xml)?");
|
||||
.compile(".*/(amzn-hvm-|amzn-)?ami-(.*)\\.(i386|x86_64)(-ebs|\\.manifest.xml)?");
|
||||
|
||||
// amazon/EC2 CentOS 5.4 HVM AMI
|
||||
public static final Pattern AMAZON_PATTERN = Pattern.compile("amazon/EC2 ([^ ]+) ([^ ]+).*");
|
||||
|
@ -83,8 +83,8 @@ public class AWSEC2ReviseParsedImage implements ReviseParsedImage {
|
|||
Matcher matcher = getMatcherAndFind(from.getImageLocation());
|
||||
if (matcher.pattern() == AMZN_PATTERN) {
|
||||
osBuilder.family(OsFamily.AMZN_LINUX);
|
||||
osBuilder.version(matcher.group(1));
|
||||
builder.version(matcher.group(1));
|
||||
osBuilder.version(matcher.group(2));
|
||||
builder.version(matcher.group(2));
|
||||
} else if (matcher.pattern() == AMAZON_PATTERN) {
|
||||
family = OsFamily.fromValue(matcher.group(1));
|
||||
osBuilder.family(family);
|
||||
|
|
|
@ -116,7 +116,7 @@ public class AWSEC2TemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
|
|||
|
||||
Template defaultTemplate = context.getComputeService().templateBuilder().build();
|
||||
assert (defaultTemplate.getImage().getProviderId().startsWith("ami-")) : defaultTemplate;
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "2011.02.1");
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "2011.02.1-beta");
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.AMZN_LINUX);
|
||||
assertEquals(defaultTemplate.getImage().getUserMetadata().get("rootDeviceType"), "ebs");
|
||||
|
@ -125,6 +125,20 @@ public class AWSEC2TemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
|
|||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFastestTemplateBuilder() throws IOException {
|
||||
|
||||
Template defaultTemplate = context.getComputeService().templateBuilder().fastest().build();
|
||||
assert (defaultTemplate.getImage().getProviderId().startsWith("ami-")) : defaultTemplate;
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "2011.02.1-beta");
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.AMZN_LINUX);
|
||||
assertEquals(defaultTemplate.getImage().getUserMetadata().get("rootDeviceType"), "ebs");
|
||||
assertEquals(defaultTemplate.getLocation().getId(), "us-east-1");
|
||||
assertEquals(getCores(defaultTemplate.getHardware()), 8.0d);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateBuilderMicro() throws IOException {
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ import java.util.Set;
|
|||
|
||||
import org.jclouds.compute.config.BaseComputeServiceContextModule;
|
||||
import org.jclouds.compute.domain.ImageBuilder;
|
||||
import org.jclouds.compute.domain.OperatingSystemBuilder;
|
||||
import org.jclouds.compute.domain.OperatingSystem;
|
||||
import org.jclouds.compute.domain.OsFamily;
|
||||
import org.jclouds.compute.reference.ComputeServiceConstants;
|
||||
import org.jclouds.domain.Credentials;
|
||||
|
@ -60,7 +60,7 @@ public class AWSEC2ImageParserTest {
|
|||
Set<org.jclouds.compute.domain.Image> result = convertImages("/alestic_canonical.xml");
|
||||
|
||||
assertEquals(Iterables.get(result, 0), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.UBUNTU).arch("paravirtual").version("8.04").description(
|
||||
new OperatingSystem.Builder().family(OsFamily.UBUNTU).arch("paravirtual").version("8.04").description(
|
||||
"ubuntu-images-us/ubuntu-hardy-8.04-i386-server-20091130.manifest.xml").is64Bit(false).build())
|
||||
.description("ubuntu-images-us/ubuntu-hardy-8.04-i386-server-20091130.manifest.xml").defaultCredentials(
|
||||
new Credentials("ubuntu", null)).id("us-east-1/ami-7e28ca17").providerId("ami-7e28ca17")
|
||||
|
@ -68,7 +68,7 @@ public class AWSEC2ImageParserTest {
|
|||
ImmutableMap.of("owner", "099720109477", "rootDeviceType", "instance-store")).build());
|
||||
|
||||
assertEquals(Iterables.get(result, 4), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.UBUNTU).arch("paravirtual").version("8.04").description(
|
||||
new OperatingSystem.Builder().family(OsFamily.UBUNTU).arch("paravirtual").version("8.04").description(
|
||||
"alestic/ubuntu-8.04-hardy-base-20080905.manifest.xml").is64Bit(false).build()).description(
|
||||
"alestic/ubuntu-8.04-hardy-base-20080905.manifest.xml").defaultCredentials(
|
||||
new Credentials("ubuntu", null)).id("us-east-1/ami-c0fa1ea9").providerId("ami-c0fa1ea9").location(
|
||||
|
@ -76,7 +76,7 @@ public class AWSEC2ImageParserTest {
|
|||
ImmutableMap.of("owner", "063491364108", "rootDeviceType", "instance-store")).build());
|
||||
|
||||
assertEquals(Iterables.get(result, 6), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.UBUNTU).arch("paravirtual").version("10.04").description(
|
||||
new OperatingSystem.Builder().family(OsFamily.UBUNTU).arch("paravirtual").version("10.04").description(
|
||||
"099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20100827").is64Bit(false)
|
||||
.build()).description("099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20100827")
|
||||
.defaultCredentials(new Credentials("ubuntu", null)).id("us-east-1/ami-10f3a255").providerId(
|
||||
|
@ -90,7 +90,7 @@ public class AWSEC2ImageParserTest {
|
|||
Set<org.jclouds.compute.domain.Image> result = convertImages("/vostok.xml");
|
||||
|
||||
assertEquals(Iterables.get(result, 0), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.UNRECOGNIZED).arch("paravirtual").version("").description(
|
||||
new OperatingSystem.Builder().family(OsFamily.UNRECOGNIZED).arch("paravirtual").version("").description(
|
||||
"vostok-builds/vostok-0.95-5622/vostok-0.95-5622.manifest.xml").is64Bit(false).build())
|
||||
.description("vostok-builds/vostok-0.95-5622/vostok-0.95-5622.manifest.xml").defaultCredentials(
|
||||
new Credentials("root", null)).id("us-east-1/ami-870de2ee").providerId("ami-870de2ee")
|
||||
|
@ -104,7 +104,7 @@ public class AWSEC2ImageParserTest {
|
|||
Set<org.jclouds.compute.domain.Image> result = convertImages("/describe_images_cc.xml");
|
||||
|
||||
assertEquals(Iterables.get(result, 0), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.CENTOS).arch("hvm").version("5.4").description(
|
||||
new OperatingSystem.Builder().family(OsFamily.CENTOS).arch("hvm").version("5.4").description(
|
||||
"amazon/EC2 CentOS 5.4 HVM AMI").is64Bit(true).build()).description("EC2 CentOS 5.4 HVM AMI")
|
||||
.defaultCredentials(new Credentials("root", null)).id("us-east-1/ami-7ea24a17").providerId(
|
||||
"ami-7ea24a17").location(defaultLocation).userMetadata(
|
||||
|
@ -117,7 +117,7 @@ public class AWSEC2ImageParserTest {
|
|||
Set<org.jclouds.compute.domain.Image> result = convertImages("/rightscale_images.xml");
|
||||
|
||||
assertEquals(Iterables.get(result, 0), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.CENTOS).arch("paravirtual").version("5.4").description(
|
||||
new OperatingSystem.Builder().family(OsFamily.CENTOS).arch("paravirtual").version("5.4").description(
|
||||
"rightscale-us-east/CentOS_5.4_x64_v4.4.10.manifest.xml").is64Bit(true).build()).description(
|
||||
"rightscale-us-east/CentOS_5.4_x64_v4.4.10.manifest.xml").defaultCredentials(
|
||||
new Credentials("root", null)).id("us-east-1/ami-ccb35ea5").providerId("ami-ccb35ea5").location(
|
||||
|
@ -138,14 +138,14 @@ public class AWSEC2ImageParserTest {
|
|||
Set<org.jclouds.compute.domain.Image> result = convertImages("/amzn_images.xml");
|
||||
|
||||
assertEquals(Iterables.get(result, 0), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.AMZN_LINUX).arch("paravirtual").version("0.9.7-beta")
|
||||
new OperatingSystem.Builder().family(OsFamily.AMZN_LINUX).arch("paravirtual").version("0.9.7-beta")
|
||||
.description("137112412989/amzn-ami-0.9.7-beta.i386-ebs").is64Bit(false).build()).description(
|
||||
"Amazon").defaultCredentials(new Credentials("ec2-user", null)).id("us-east-1/ami-82e4b5c7").providerId(
|
||||
"ami-82e4b5c7").location(defaultLocation).version("0.9.7-beta").userMetadata(
|
||||
ImmutableMap.of("owner", "137112412989", "rootDeviceType", "ebs")).build());
|
||||
|
||||
assertEquals(Iterables.get(result, 3), new ImageBuilder().operatingSystem(
|
||||
new OperatingSystemBuilder().family(OsFamily.AMZN_LINUX).arch("paravirtual").version("0.9.7-beta")
|
||||
new OperatingSystem.Builder().family(OsFamily.AMZN_LINUX).arch("paravirtual").version("0.9.7-beta")
|
||||
.description("amzn-ami-us-west-1/amzn-ami-0.9.7-beta.x86_64.manifest.xml").is64Bit(true)
|
||||
.build()).description("Amazon Linux AMI x86_64 S3").defaultCredentials(
|
||||
new Credentials("ec2-user", null)).id("us-east-1/ami-f2e4b5b7").providerId("ami-f2e4b5b7").location(
|
||||
|
|
|
@ -195,7 +195,7 @@ public class PlacementGroupClientLiveTest {
|
|||
Template template = context.getComputeService().templateBuilder().fastest().build();
|
||||
assert template != null : "The returned template was null, but it should have a value.";
|
||||
assertEquals(template.getHardware().getProviderId(), InstanceType.CC1_4XLARGE);
|
||||
assertEquals(template.getImage().getId(), "us-east-1/ami-7ea24a17");
|
||||
assertEquals(template.getImage().getId(), "us-east-1/ami-321eed5b");
|
||||
|
||||
template.getOptions().overrideLoginCredentialWith(keyPair.get("private"))
|
||||
.authorizePublicKey(keyPair.get("public")).runScript(buildScript(template.getImage().getOperatingSystem()));
|
||||
|
|
Loading…
Reference in New Issue