diff --git a/apis/cloudservers/pom.xml b/apis/cloudservers/pom.xml
index 6587497784..41a3c0acfe 100644
--- a/apis/cloudservers/pom.xml
+++ b/apis/cloudservers/pom.xml
@@ -40,9 +40,7 @@
${test.rackspace.identity}
${test.rackspace.credential}
-
-
-
+
org.jclouds.cloudservers*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -120,10 +118,8 @@
${test.cloudstack.build-version}
${test.cloudstack.identity}
${test.cloudstack.credential}
- ${test.cloudstack.image-id}
- ${test.cloudstack.image.login-user}
- ${test.cloudstack.image.authenticate-sudo}
-
+ ${test.cloudstack.template}
+
diff --git a/apis/cloudsigma/pom.xml b/apis/cloudsigma/pom.xml
index 5b49b23147..d36ea17daa 100644
--- a/apis/cloudsigma/pom.xml
+++ b/apis/cloudsigma/pom.xml
@@ -39,10 +39,7 @@
FIXME
FIXME
- f3c7c665-cd54-4a78-8fd2-7ec2f028cf29
-
-
-
+ imageId=f3c7c665-cd54-4a78-8fd2-7ec2f028cf29
org.jclouds.cloudsigma*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -107,9 +104,7 @@
${test.cloudsigma.build-version}
${test.cloudsigma.identity}
${test.cloudsigma.credential}
- ${test.cloudsigma.image-id}
- ${test.cloudsigma.image.login-user}
- ${test.cloudsigma.image.authenticate-sudo}
+ ${test.cloudsigma.template}
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java
index 1a639fc980..36f788d817 100644
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java
+++ b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java
@@ -57,7 +57,6 @@ import org.testng.annotations.Test;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
-import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.net.HostAndPort;
@@ -84,6 +83,7 @@ public class CloudSigmaClientLiveTest extends BaseComputeServiceContextLiveTest
protected Predicate socketTester;
protected Predicate driveNotClaimed;
+ protected String imageId;
@BeforeGroups(groups = { "integration", "live" })
@Override
@@ -97,7 +97,7 @@ public class CloudSigmaClientLiveTest extends BaseComputeServiceContextLiveTest
socketTester = new RetryablePredicate(new InetSocketAddressConnect(), maxDriveImageTime, 1,
TimeUnit.SECONDS);
- if (Strings.emptyToNull(imageId) == null) {
+ if (template == null || template.getImageId() == null) {
imageId = view.getComputeService().templateBuilder().build().getImage().getId();
}
}
diff --git a/apis/cloudstack/pom.xml b/apis/cloudstack/pom.xml
index bef1c61535..c711e8d8fa 100644
--- a/apis/cloudstack/pom.xml
+++ b/apis/cloudstack/pom.xml
@@ -49,7 +49,7 @@
http://localhost:8080/client/api
- 2.2.12
+ 3.0.3
FIXME_apiKey
FIXME_secretKey
@@ -57,10 +57,7 @@
-
-
-
-
+
org.jclouds.cloudstack*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -137,9 +134,7 @@
${test.cloudstack.build-version}
${test.cloudstack.identity}
${test.cloudstack.credential}
- ${test.cloudstack.image-id}
- ${test.cloudstack.image.login-user}
- ${test.cloudstack.image.authenticate-sudo}
+ ${test.cloudstack.template}
${test.cloudstack.domainAdminIdentity}
${test.cloudstack.domainAdminCredential}
${test.cloudstack.globalAdminIdentity}
diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/FirewallClientLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/FirewallClientLiveTest.java
index d2a34b238d..73e4a61e47 100644
--- a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/FirewallClientLiveTest.java
+++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/FirewallClientLiveTest.java
@@ -75,7 +75,7 @@ public class FirewallClientLiveTest extends BaseCloudStackClientLiveTest {
}
}));
- String defaultTemplate = (imageId != null && !"".equals(imageId)) ? imageId : null;
+ String defaultTemplate = template != null ? template.getImageId() : null;
vm = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network,
defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()),
diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/LoadBalancerClientLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/LoadBalancerClientLiveTest.java
index 7f94a60529..3fa074e334 100644
--- a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/LoadBalancerClientLiveTest.java
+++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/LoadBalancerClientLiveTest.java
@@ -92,7 +92,7 @@ public class LoadBalancerClientLiveTest extends BaseCloudStackClientLiveTest {
public void testCreateVm() {
if (networksDisabled)
return;
- String defaultTemplate = (imageId != null && !"".equals(imageId)) ? imageId : null;
+ String defaultTemplate = template != null ? template.getImageId() : null;
vm = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network,
defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()),
client, jobComplete, virtualMachineRunning);
diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/SecurityGroupClientLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/SecurityGroupClientLiveTest.java
index 30a9b2ceea..432039062b 100644
--- a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/SecurityGroupClientLiveTest.java
+++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/SecurityGroupClientLiveTest.java
@@ -171,7 +171,7 @@ public class SecurityGroupClientLiveTest extends BaseCloudStackClientLiveTest {
public void testCreateVMInSecurityGroup() throws Exception {
if (!securityGroupsSupported)
return;
- String defaultTemplate = (imageId != null && !"".equals(imageId)) ? imageId : null;
+ String defaultTemplate = template != null ? template.getImageId() : null;
vm = VirtualMachineClientLiveTest.createVirtualMachineWithSecurityGroupInZone(zone.getId(),
defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), group.getId(), client,
jobComplete, virtualMachineRunning);
@@ -200,7 +200,7 @@ public class SecurityGroupClientLiveTest extends BaseCloudStackClientLiveTest {
public void testCreateVMWithoutSecurityGroupAssignsDefault() throws Exception {
if (!securityGroupsSupported)
return;
- String defaultTemplate = (imageId != null && !"".equals(imageId)) ? imageId : null;
+ String defaultTemplate = template != null ? template.getImageId() : null;
VirtualMachine newVm = VirtualMachineClientLiveTest.createVirtualMachineWithOptionsInZone(DeployVirtualMachineOptions.NONE,
zone.getId(), defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), client,
jobComplete, virtualMachineRunning);
diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/TemplateClientLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/TemplateClientLiveTest.java
index 2df4cc8544..f2a9fd52c4 100644
--- a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/TemplateClientLiveTest.java
+++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/TemplateClientLiveTest.java
@@ -115,8 +115,8 @@ public class TemplateClientLiveTest extends BaseCloudStackClientLiveTest {
assertNotNull(network);
// Create a VM and stop it
- String templateId = (imageId != null && !"".equals(imageId)) ? imageId : null;
- vmForCreation = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network, templateId, client, jobComplete, virtualMachineRunning);
+ String defaultTemplate = template != null ? template.getImageId() : null;
+ vmForCreation = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network, defaultTemplate, client, jobComplete, virtualMachineRunning);
assertTrue(jobComplete.apply(client.getVirtualMachineClient().stopVirtualMachine(vmForCreation.getId())), vmForCreation.toString());
// Work out the VM's volume
diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/VirtualMachineClientLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/VirtualMachineClientLiveTest.java
index fd2a37c6b0..dc0b4fa8bb 100644
--- a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/VirtualMachineClientLiveTest.java
+++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/VirtualMachineClientLiveTest.java
@@ -181,8 +181,8 @@ public class VirtualMachineClientLiveTest extends BaseCloudStackClientLiveTest {
@Test
public void testCreateVirtualMachine() throws Exception {
- String templateId = (imageId != null && !"".equals(imageId)) ? imageId : null;
- vm = createVirtualMachine(client, templateId, jobComplete, virtualMachineRunning);
+ String defaultTemplate = template != null ? template.getImageId() : null;
+ vm = createVirtualMachine(client, defaultTemplate, jobComplete, virtualMachineRunning);
if (vm.getPassword() != null) {
conditionallyCheckSSH();
}
@@ -195,12 +195,12 @@ public class VirtualMachineClientLiveTest extends BaseCloudStackClientLiveTest {
public void testCreateVirtualMachineWithSpecificIp() throws Exception {
skipIfNotGlobalAdmin();
- String templateId = (imageId != null && !"".equals(imageId)) ? imageId : null;
+ String defaultTemplate = template != null ? template.getImageId() : null;
Network network = null;
try {
Template template = getOnlyElement(
- client.getTemplateClient().listTemplates(ListTemplatesOptions.Builder.id(templateId)));
+ client.getTemplateClient().listTemplates(ListTemplatesOptions.Builder.id(defaultTemplate)));
logger.info("Using template: " + template);
Set allSafeNetworksInZone = adminClient.getNetworkClient().listNetworks(
@@ -252,7 +252,7 @@ public class VirtualMachineClientLiveTest extends BaseCloudStackClientLiveTest {
ipsToNetworks.put(ipAddress, network.getId());
vm = createVirtualMachineInNetworkWithIp(
- adminClient, templateId, ImmutableSet.of(requiredNetwork, network),
+ adminClient, defaultTemplate, ImmutableSet.of(requiredNetwork, network),
ipsToNetworks, adminJobComplete, adminVirtualMachineRunning);
logger.info("Created VM: " + vm);
diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/functions/StaticNATVirtualMachineInNetworkLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/functions/StaticNATVirtualMachineInNetworkLiveTest.java
index 629885262d..0710ae3596 100644
--- a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/functions/StaticNATVirtualMachineInNetworkLiveTest.java
+++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/functions/StaticNATVirtualMachineInNetworkLiveTest.java
@@ -64,7 +64,7 @@ public class StaticNATVirtualMachineInNetworkLiveTest extends NATClientLiveTest
prefix += "nat";
try {
network = find(client.getNetworkClient().listNetworks(), NetworkPredicates.supportsStaticNAT());
- String defaultTemplate = (imageId != null && !"".equals(imageId)) ? imageId : null;
+ String defaultTemplate = template != null ? template.getImageId() : null;
vm = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network,
defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete,
virtualMachineRunning);
diff --git a/apis/deltacloud/pom.xml b/apis/deltacloud/pom.xml
index ff88685938..bfef9b8b6b 100644
--- a/apis/deltacloud/pom.xml
+++ b/apis/deltacloud/pom.xml
@@ -53,10 +53,7 @@
mockuser
mockpassword
-
-
-
-
+
org.jclouds.deltacloud*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -120,9 +117,7 @@
${test.deltacloud.build-version}
${test.deltacloud.identity}
${test.deltacloud.credential}
- ${test.deltacloud.image-id}
- ${test.deltacloud.image.login-user}
- ${test.deltacloud.image.authenticate-sudo}
+ ${test.deltacloud.template}
diff --git a/apis/ec2/pom.xml b/apis/ec2/pom.xml
index 914f86d542..d7d6073714 100644
--- a/apis/ec2/pom.xml
+++ b/apis/ec2/pom.xml
@@ -39,10 +39,8 @@
${test.aws.identity}
${test.aws.credential}
-
-
-
-
+
+ hardwareId=m1.small,imageId=us-west-2/ami-38c64a08
org.jclouds.ec2*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -128,9 +126,8 @@
${test.ec2.build-version}
${test.ec2.identity}
${test.ec2.credential}
- ${test.ec2.image-id}
- ${test.ec2.image.login-user}
- ${test.ec2.image.authenticate-sudo}
+ ${test.ec2.template}
+ ${test.ec2.ebs-template}
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/compute/EC2ComputeServiceLiveTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/compute/EC2ComputeServiceLiveTest.java
index f5ebb787ac..b204a073ef 100644
--- a/apis/ec2/src/test/java/org/jclouds/ec2/compute/EC2ComputeServiceLiveTest.java
+++ b/apis/ec2/src/test/java/org/jclouds/ec2/compute/EC2ComputeServiceLiveTest.java
@@ -29,8 +29,8 @@ import java.util.Set;
import org.jclouds.compute.ComputeServiceContext;
import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.OsFamily;
import org.jclouds.compute.domain.Template;
+import org.jclouds.compute.domain.TemplateBuilderSpec;
import org.jclouds.compute.internal.BaseComputeServiceLiveTest;
import org.jclouds.compute.options.TemplateOptions;
import org.jclouds.compute.predicates.NodePredicates;
@@ -41,7 +41,6 @@ import org.jclouds.ec2.EC2ApiMetadata;
import org.jclouds.ec2.EC2Client;
import org.jclouds.ec2.compute.options.EC2TemplateOptions;
import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.ec2.domain.InstanceType;
import org.jclouds.ec2.domain.IpProtocol;
import org.jclouds.ec2.domain.KeyPair;
import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
@@ -57,6 +56,7 @@ import org.jclouds.ec2.services.SecurityGroupClient;
import org.jclouds.scriptbuilder.domain.Statements;
import org.jclouds.sshj.config.SshjSshClientModule;
import org.jclouds.util.InetAddresses2;
+import org.testng.SkipException;
import org.testng.annotations.Test;
import com.google.common.base.Predicate;
@@ -74,6 +74,8 @@ import com.google.inject.Module;
@Test(groups = "live", singleThreaded = true)
public class EC2ComputeServiceLiveTest extends BaseComputeServiceLiveTest {
+ protected TemplateBuilderSpec ebsTemplate;
+
public EC2ComputeServiceLiveTest() {
provider = "ec2";
}
@@ -227,12 +229,24 @@ public class EC2ComputeServiceLiveTest extends BaseComputeServiceLiveTest {
}
}
+ @Override
+ protected Properties setupProperties() {
+ Properties overrides = super.setupProperties();
+ String ebsSpec = setIfTestSystemPropertyPresent(overrides, provider + ".ebs-template");
+ if (ebsSpec != null)
+ ebsTemplate = TemplateBuilderSpec.parse(ebsSpec);
+ return overrides;
+ }
+
/**
* Note we cannot use the micro size as it has no ephemeral space.
*/
- @Test(enabled = true)
+ @Test
public void testMapEBS() throws Exception {
-
+ if (ebsTemplate == null) {
+ throw new SkipException("Test cannot run without the parameter test." + provider
+ + ".ebs-template; this property should be in the format defined in TemplateBuilderSpec");
+ }
InstanceClient instanceClient = EC2Client.class.cast(view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi())
.getInstanceServices();
@@ -242,8 +256,7 @@ public class EC2ComputeServiceLiveTest extends BaseComputeServiceLiveTest {
String group = this.group + "e";
int volumeSize = 8;
- final Template template = view.getComputeService().templateBuilder().hardwareId(InstanceType.M1_SMALL)
- .osFamily(OsFamily.UBUNTU).osVersionMatches("10.04").imageDescriptionMatches(".*ebs.*").build();
+ final Template template = view.getComputeService().templateBuilder().from(ebsTemplate).build();
Location zone = Iterables.find(view.getComputeService().listAssignableLocations(), new Predicate() {
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/AMIClientLiveTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/AMIClientLiveTest.java
new file mode 100644
index 0000000000..15e112a6b6
--- /dev/null
+++ b/apis/ec2/src/test/java/org/jclouds/ec2/services/AMIClientLiveTest.java
@@ -0,0 +1,186 @@
+package org.jclouds.ec2.services;
+
+import static org.jclouds.ec2.options.DescribeImagesOptions.Builder.imageIds;
+import static org.jclouds.ec2.options.RegisterImageBackedByEbsOptions.Builder.addNewBlockDevice;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Set;
+
+import org.jclouds.compute.ComputeService;
+import org.jclouds.compute.RunNodesException;
+import org.jclouds.compute.domain.NodeMetadata;
+import org.jclouds.compute.domain.Template;
+import org.jclouds.compute.domain.TemplateBuilderSpec;
+import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
+import org.jclouds.compute.predicates.ImagePredicates;
+import org.jclouds.ec2.EC2ApiMetadata;
+import org.jclouds.ec2.domain.BlockDevice;
+import org.jclouds.ec2.domain.Image;
+import org.jclouds.ec2.domain.Image.ImageType;
+import org.jclouds.ec2.domain.Reservation;
+import org.jclouds.ec2.domain.RootDeviceType;
+import org.jclouds.ec2.domain.RunningInstance;
+import org.jclouds.ec2.domain.Snapshot;
+import org.jclouds.ec2.services.AMIClient;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Predicates;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
+
+/**
+ * Tests behavior of {@code AMIClient}
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", singleThreaded = true)
+public class AMIClientLiveTest extends BaseComputeServiceContextLiveTest {
+ private TemplateBuilderSpec ebsTemplate;
+
+ public AMIClientLiveTest() {
+ provider = "ec2";
+ }
+
+ @Override
+ protected Properties setupProperties() {
+ Properties overrides = super.setupProperties();
+ String ebsSpec = setIfTestSystemPropertyPresent(overrides, provider + ".ebs-template");
+ if (ebsSpec != null)
+ ebsTemplate = TemplateBuilderSpec.parse(ebsSpec);
+ return overrides;
+ }
+
+ protected AMIClient client;
+
+ protected Set imagesToDeregister = Sets.newHashSet();
+ protected Set snapshotsToDelete = Sets.newHashSet();
+ protected String regionId;
+ protected String ebsBackedImageId;
+ protected String ebsBackedImageName = "jcloudstest1";
+
+ @Override
+ @BeforeClass(groups = { "integration", "live" })
+ public void setupContext() {
+ super.setupContext();
+ client = view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi().getAMIServices();
+ if (ebsTemplate != null) {
+ Template template = view.getComputeService().templateBuilder().from(ebsTemplate).build();
+ regionId = template.getLocation().getId();
+ for (Image image : client.describeImagesInRegion(regionId)) {
+ if (ebsBackedImageName.equals(image.getName()))
+ client.deregisterImageInRegion(regionId, image.getId());
+ }
+ }
+ }
+
+ public void testDescribeImageNotExists() {
+ assertEquals(client.describeImagesInRegion(null, imageIds("ami-cdf819a3")).size(), 0);
+ }
+
+ @Test(expectedExceptions = IllegalArgumentException.class)
+ public void testDescribeImageBadId() {
+ client.describeImagesInRegion(null, imageIds("asdaasdsa"));
+ }
+
+ public void testDescribeImages() {
+ for (String region : view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi().getAvailabilityZoneAndRegionServices()
+ .describeRegions().keySet()) {
+ Set extends Image> allResults = client.describeImagesInRegion(region);
+ assertNotNull(allResults);
+ assert allResults.size() >= 2 : allResults.size();
+ Iterator extends Image> iterator = allResults.iterator();
+ String id1 = iterator.next().getId();
+ String id2 = iterator.next().getId();
+ Set extends Image> twoResults = client.describeImagesInRegion(region, imageIds(id1, id2));
+ assertNotNull(twoResults);
+ assertEquals(twoResults.size(), 2);
+ iterator = twoResults.iterator();
+ assertEquals(iterator.next().getId(), id1);
+ assertEquals(iterator.next().getId(), id2);
+ }
+ }
+
+ @Test
+ public void testCreateAndListEBSBackedImage() throws Exception {
+ ComputeService computeService = view.getComputeService();
+ Snapshot snapshot = createSnapshot(computeService);
+
+ // List of images before...
+ int sizeBefore = computeService.listImages().size();
+
+ // Register a new image...
+ ebsBackedImageId = client.registerUnixImageBackedByEbsInRegion(regionId, ebsBackedImageName, snapshot.getId(),
+ addNewBlockDevice("/dev/sda2", "myvirtual", 1).withDescription("adrian"));
+ imagesToDeregister.add(ebsBackedImageId);
+ final Image ebsBackedImage = Iterables.getOnlyElement(client.describeImagesInRegion(regionId,
+ imageIds(ebsBackedImageId)));
+ assertEquals(ebsBackedImage.getName(), ebsBackedImageName);
+ assertEquals(ebsBackedImage.getImageType(), ImageType.MACHINE);
+ assertEquals(ebsBackedImage.getRootDeviceType(), RootDeviceType.EBS);
+ assertEquals(ebsBackedImage.getRootDeviceName(), "/dev/sda1");
+ assertEquals(ebsBackedImage.getDescription(), "adrian");
+ assertEquals(
+ ebsBackedImage.getEbsBlockDevices().entrySet(),
+ ImmutableMap.of("/dev/sda1", new Image.EbsBlockDevice(snapshot.getId(), snapshot.getVolumeSize(), true),
+ "/dev/sda2", new Image.EbsBlockDevice(null, 1, false)).entrySet());
+
+ // This is the suggested method to ensure the new image ID is inserted
+ // into the cache
+ // (suggested by adriancole_ on #jclouds)
+ computeService.templateBuilder().imageId(ebsBackedImage.getRegion() + "/" + ebsBackedImageId).build();
+
+ // List of images after - should be one larger than before
+ Set extends org.jclouds.compute.domain.Image> after = computeService.listImages();
+ assertEquals(after.size(), sizeBefore + 1);
+
+ // Detailed check: filter for the AMI ID
+ Iterable extends org.jclouds.compute.domain.Image> filtered = Iterables.filter(after,
+ ImagePredicates.idEquals(ebsBackedImage.getRegion() + "/" + ebsBackedImageId));
+ assertEquals(Iterables.size(filtered), 1);
+ }
+
+ // Fires up an instance, finds its root volume ID, takes a snapshot, then
+ // terminates the instance.
+ private Snapshot createSnapshot(ComputeService computeService) throws RunNodesException {
+ Template template = computeService.templateBuilder().from(ebsTemplate).build();
+ regionId = template.getLocation().getId();
+ Set extends NodeMetadata> nodes = computeService.createNodesInGroup("jcloudstest", 1, template);
+ try {
+ String instanceId = Iterables.getOnlyElement(nodes).getProviderId();
+ Reservation extends RunningInstance> reservation = Iterables.getOnlyElement(view
+ .unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi().getInstanceServices()
+ .describeInstancesInRegion(regionId, instanceId));
+ RunningInstance instance = Iterables.getOnlyElement(reservation);
+ BlockDevice device = instance.getEbsBlockDevices().get("/dev/sda1");
+ Snapshot snapshot = view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi().getElasticBlockStoreServices()
+ .createSnapshotInRegion(regionId, device.getVolumeId());
+ snapshotsToDelete.add(snapshot.getId());
+ return snapshot;
+ } finally {
+ computeService.destroyNodesMatching(Predicates.in(nodes));
+ }
+ }
+
+ @Test(dependsOnMethods = "testCreateAndListEBSBackedImage")
+ public void testGetLaunchPermissionForImage() {
+ System.out.println(client.getLaunchPermissionForImageInRegion(regionId, ebsBackedImageId));
+ }
+
+ @Override
+ @AfterClass(groups = { "integration", "live" })
+ protected void tearDownContext() {
+ for (String imageId : imagesToDeregister)
+ client.deregisterImageInRegion(regionId, imageId);
+ for (String snapshotId : snapshotsToDelete)
+ view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi().getElasticBlockStoreServices()
+ .deleteSnapshotInRegion(regionId, snapshotId);
+ super.tearDownContext();
+ }
+
+}
diff --git a/apis/elasticstack/pom.xml b/apis/elasticstack/pom.xml
index f550178f42..c2e8d7e791 100644
--- a/apis/elasticstack/pom.xml
+++ b/apis/elasticstack/pom.xml
@@ -53,10 +53,7 @@
FIXME
FIXME
- 38df0986-4d85-4b76-b502-3878ffc80161
-
-
-
+ imageId=38df0986-4d85-4b76-b502-3878ffc80161
org.jclouds.elasticstack*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -120,9 +117,7 @@
${test.elasticstack.build-version}
${test.elasticstack.identity}
${test.elasticstack.credential}
- ${test.elasticstack.image-id}
- ${test.elasticstack.image.login-user}
- ${test.elasticstack.image.authenticate-sudo}
+ ${test.elasticstack.template}
diff --git a/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java
index 54c9fd1709..1eea1798ea 100644
--- a/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java
+++ b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java
@@ -55,7 +55,6 @@ import org.testng.annotations.Test;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
-import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.net.HostAndPort;
@@ -83,6 +82,7 @@ public class ElasticStackClientLiveTest
protected RestContext cloudStackContext;
protected Predicate socketTester;
protected Predicate driveNotClaimed;
+ protected String imageId;
@BeforeGroups(groups = { "integration", "live" })
@Override
@@ -96,7 +96,7 @@ public class ElasticStackClientLiveTest
socketTester = new RetryablePredicate(new InetSocketAddressConnect(), maxDriveImageTime, 1,
TimeUnit.SECONDS);
- if (Strings.emptyToNull(imageId) == null) {
+ if (template == null || template.getImageId() == null) {
imageId = view.getComputeService().templateBuilder().build().getImage().getId();
}
}
diff --git a/apis/eucalyptus/pom.xml b/apis/eucalyptus/pom.xml
index f1c72e0e0e..67848f5203 100644
--- a/apis/eucalyptus/pom.xml
+++ b/apis/eucalyptus/pom.xml
@@ -39,10 +39,8 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
-
+
+
org.jclouds.eucalyptus*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -115,9 +113,8 @@
${test.eucalyptus.build-version}
${test.eucalyptus.identity}
${test.eucalyptus.credential}
- ${test.eucalyptus.image-id}
- ${test.eucalyptus.image.login-user}
- ${test.eucalyptus.image.authenticate-sudo}
+ ${test.eucalyptus.template}
+ ${test.eucalyptus.ebs-template}
diff --git a/apis/nova/pom.xml b/apis/nova/pom.xml
index a097a1c10d..5d6ac6c25c 100644
--- a/apis/nova/pom.xml
+++ b/apis/nova/pom.xml
@@ -39,9 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIALS
-
-
-
+
@@ -122,9 +120,7 @@
${test.nova.build-version}
${test.nova.identity}
${test.nova.credential}
- ${test.nova.image-id}
- ${test.nova.image.login-user}
- ${test.nova.image.authenticate-sudo}
+ ${test.nova.template}
${test.ssh.keyfile.public}
${test.ssh.keyfile.private}
diff --git a/apis/nova/src/test/java/org/jclouds/openstack/nova/NovaClientLiveTest.java b/apis/nova/src/test/java/org/jclouds/openstack/nova/NovaClientLiveTest.java
index 769a3afc45..397ee7e907 100644
--- a/apis/nova/src/test/java/org/jclouds/openstack/nova/NovaClientLiveTest.java
+++ b/apis/nova/src/test/java/org/jclouds/openstack/nova/NovaClientLiveTest.java
@@ -214,7 +214,7 @@ public class NovaClientLiveTest extends BaseComputeServiceContextLiveTest {
while (server == null) {
String serverName = serverPrefix + "createserver" + new SecureRandom().nextInt();
try {
- server = client.createServer(serverName, imageId, flavorId, withFile("/etc/jclouds.txt",
+ server = client.createServer(serverName, template.getImageId(), flavorId, withFile("/etc/jclouds.txt",
"nova".getBytes()).withMetadata(metadata));
} catch (UndeclaredThrowableException e) {
HttpResponseException htpe = (HttpResponseException) e.getCause().getCause();
diff --git a/apis/openstack-nova-ec2/pom.xml b/apis/openstack-nova-ec2/pom.xml
index 8af5b62e4c..94fba780c2 100644
--- a/apis/openstack-nova-ec2/pom.xml
+++ b/apis/openstack-nova-ec2/pom.xml
@@ -39,10 +39,8 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
-
+
+
org.jclouds.openstack.nova.ec2*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -120,9 +118,8 @@
${test.openstack-nova-ec2.build-version}
${test.openstack-nova-ec2.identity}
${test.openstack-nova-ec2.credential}
- ${test.openstack-nova-ec2.image-id}
- ${test.openstack-nova-ec2.image.login-user}
- ${test.openstack-nova-ec2.image.authenticate-sudo}
+ ${test.openstack-nova-ec2.template}
+ ${test.openstack-nova-ec2.ebs-template}
diff --git a/apis/openstack-nova/pom.xml b/apis/openstack-nova/pom.xml
index 999fc05859..44935e33af 100644
--- a/apis/openstack-nova/pom.xml
+++ b/apis/openstack-nova/pom.xml
@@ -41,9 +41,7 @@
FIXME_IDENTITY
FIXME_CREDENTIALS
-
-
-
+
false
passwordCredentials
@@ -130,9 +128,7 @@
${test.openstack-nova.build-version}
${test.openstack-nova.identity}
${test.openstack-nova.credential}
- ${test.openstack-nova.image-id}
- ${test.openstack-nova.image.login-user}
- ${test.openstack-nova.image.authenticate-sudo}
+ ${test.openstack-nova.template}
${test.jclouds.openstack-nova.auto-allocate-floating-ips}
${test.jclouds.keystone.credential-type}
diff --git a/apis/vcloud/pom.xml b/apis/vcloud/pom.xml
index ddfce7d368..4f23e0f9a3 100644
--- a/apis/vcloud/pom.xml
+++ b/apis/vcloud/pom.xml
@@ -39,10 +39,7 @@
FIXME
FIXME
-
-
-
-
+
org.jclouds.vcloud*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -118,9 +115,7 @@
${test.vcloud.build-version}
${test.vcloud.identity}
${test.vcloud.credential}
- ${test.vcloud.image-id}
- ${test.vcloud.image.login-user}
- ${test.vcloud.image.authenticate-sudo}
+ ${test.vcloud.template}
diff --git a/common/aws/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java b/common/aws/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java
index af31a61acc..85c6f90ab3 100644
--- a/common/aws/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java
+++ b/common/aws/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java
@@ -56,7 +56,13 @@ public class ParseAWSErrorFromXmlContentTest {
assertCodeMakes("GET", URI.create("https://amazonaws.com/foo"), 400, "",
"Monster.NotFound
", ResourceNotFoundException.class);
}
-
+
+ @Test
+ public void test400WithCloudBridgeNotFoundSetsResourceNotFoundException() {
+ assertCodeMakes("POST", URI.create("https://api.greenqloud.com/"), 400, "",
+ "Client.InvalidInstanceID.NotFound
", ResourceNotFoundException.class);
+ }
+
@Test
public void test400WithInvalidIdIllegalArgumentException() {
assertCodeMakes("POST", URI.create("https://ec2.us-east-1.amazonaws.com"), 400, "HTTP/1.1 400", "",
@@ -166,7 +172,7 @@ public class ParseAWSErrorFromXmlContentTest {
@Test
public void test400WithCloudBridgeAuthFailureSetsAuthorizationException() {
- assertCodeMakes("GET", URI.create("https://amazonaws.com/foo"), 400, "",
+ assertCodeMakes("POST", URI.create("https://api.greenqloud.com/"), 400, "",
"Client.AuthFailure
", AuthorizationException.class);
}
diff --git a/compute/src/main/java/org/jclouds/compute/domain/TemplateBuilderSpec.java b/compute/src/main/java/org/jclouds/compute/domain/TemplateBuilderSpec.java
index 1192374482..604aa646bf 100644
--- a/compute/src/main/java/org/jclouds/compute/domain/TemplateBuilderSpec.java
+++ b/compute/src/main/java/org/jclouds/compute/domain/TemplateBuilderSpec.java
@@ -152,7 +152,7 @@ public class TemplateBuilderSpec implements Serializable {
.put("authenticateSudo", new AuthenticateSudoParser())
.put("locationId", new LocationIdParser())
.build();
-
+
@VisibleForTesting
String hardwareId;
@VisibleForTesting
@@ -553,4 +553,63 @@ public class TemplateBuilderSpec implements Serializable {
}
}
+ public String getHardwareId() {
+ return hardwareId;
+ }
+
+ public Double getMinCores() {
+ return minCores;
+ }
+
+ public Integer getMinRam() {
+ return minRam;
+ }
+
+ public String getHypervisorMatches() {
+ return hypervisorMatches;
+ }
+
+ public String getImageId() {
+ return imageId;
+ }
+
+ public String getImageNameMatches() {
+ return imageNameMatches;
+ }
+
+ public OsFamily getOsFamily() {
+ return osFamily;
+ }
+
+ public String getOsVersionMatches() {
+ return osVersionMatches;
+ }
+
+ public Boolean getOs64Bit() {
+ return os64Bit;
+ }
+
+ public String getOsArchMatches() {
+ return osArchMatches;
+ }
+
+ public String getOsDescriptionMatches() {
+ return osDescriptionMatches;
+ }
+
+ public String getLoginUser() {
+ return loginUser;
+ }
+
+ public Boolean getAuthenticateSudo() {
+ return authenticateSudo;
+ }
+
+ public String getLocationId() {
+ return locationId;
+ }
+
+ public String getSpecification() {
+ return specification;
+ }
}
diff --git a/compute/src/test/java/org/jclouds/compute/internal/BaseGenericComputeServiceContextLiveTest.java b/compute/src/test/java/org/jclouds/compute/internal/BaseGenericComputeServiceContextLiveTest.java
index c26b11f93d..bc7a2ebd72 100644
--- a/compute/src/test/java/org/jclouds/compute/internal/BaseGenericComputeServiceContextLiveTest.java
+++ b/compute/src/test/java/org/jclouds/compute/internal/BaseGenericComputeServiceContextLiveTest.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap;
import org.jclouds.apis.BaseViewLiveTest;
import org.jclouds.compute.ComputeServiceContext;
+import org.jclouds.compute.domain.TemplateBuilderSpec;
import org.jclouds.domain.LoginCredentials;
import org.jclouds.domain.LoginCredentials.Builder;
import org.jclouds.io.CopyInputStreamInputSupplierMap;
@@ -41,9 +42,7 @@ import com.google.inject.util.Modules;
*/
public abstract class BaseGenericComputeServiceContextLiveTest extends BaseViewLiveTest {
- protected String imageId;
- protected String loginUser;
- protected String authenticateSudo;
+ protected TemplateBuilderSpec template;
protected LoginCredentials loginCredentials = LoginCredentials.builder().user("root").build();
// isolate tests from eachother, as default credentialStore is static
@@ -53,19 +52,19 @@ public abstract class BaseGenericComputeServiceContextLiveTest userPass = Splitter.on(':').split(loginUser);
- Builder loginCredentialsBuilder = LoginCredentials.builder();
- loginCredentialsBuilder.user(Iterables.get(userPass, 0));
- if (Iterables.size(userPass) == 2)
- loginCredentialsBuilder.password(Iterables.get(userPass, 1));
- if (authenticateSudo != null)
- loginCredentialsBuilder.authenticateSudo(Boolean.valueOf(authenticateSudo));
- loginCredentials = loginCredentialsBuilder.build();
+ String spec = setIfTestSystemPropertyPresent(overrides, provider + ".template");
+ if (spec != null) {
+ template = TemplateBuilderSpec.parse(spec);
+ if (template.getLoginUser() != null) {
+ Iterable userPass = Splitter.on(':').split(template.getLoginUser());
+ Builder loginCredentialsBuilder = LoginCredentials.builder();
+ loginCredentialsBuilder.user(Iterables.get(userPass, 0));
+ if (Iterables.size(userPass) == 2)
+ loginCredentialsBuilder.password(Iterables.get(userPass, 1));
+ if (template.getAuthenticateSudo() != null)
+ loginCredentialsBuilder.authenticateSudo(template.getAuthenticateSudo());
+ loginCredentials = loginCredentialsBuilder.build();
+ }
}
return overrides;
}
diff --git a/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java b/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java
index d79e9e5ea0..cb9505e537 100644
--- a/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java
+++ b/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java
@@ -261,9 +261,9 @@ public abstract class BaseTemplateBuilderLiveTest extends BaseComputeServiceCont
ComputeServiceContext context = null;
try {
Properties overrides = setupProperties();
- String login = loginUser != null ? loginUser : "foo:bar";
+ String login = template != null && template.getLoginUser() != null ? template.getLoginUser() : "foo:bar";
overrides.setProperty(propertyKey + ".image.login-user", login);
- boolean auth = authenticateSudo != null ? Boolean.valueOf(authenticateSudo) : true;
+ boolean auth = template != null && template.getAuthenticateSudo() != null ? template.getAuthenticateSudo() : true;
overrides.setProperty(propertyKey + ".image.authenticate-sudo", auth + "");
context = createView(overrides, ImmutableSet.of(credentialStoreModule));
diff --git a/labs/aws-elb/pom.xml b/labs/aws-elb/pom.xml
index d8ff4fffe4..faf1732a9b 100644
--- a/labs/aws-elb/pom.xml
+++ b/labs/aws-elb/pom.xml
@@ -45,7 +45,7 @@
${test.aws.identity}
${test.aws.credential}
-
+
org.jclouds.aws.elb*;version="${project.version}"
org.jclouds*;version="${project.version}",*
@@ -134,7 +134,7 @@
${test.aws-elb.compute.api-version}
${test.aws-elb.compute.identity}
${test.aws-elb.compute.credential}
- ${test.aws-elb.compute.image-id}
+ ${test.aws-elb.compute.template}
diff --git a/labs/carrenza-vcloud-director/pom.xml b/labs/carrenza-vcloud-director/pom.xml
index f0a329b573..490dd0f0cc 100644
--- a/labs/carrenza-vcloud-director/pom.xml
+++ b/labs/carrenza-vcloud-director/pom.xml
@@ -39,9 +39,7 @@
464915
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
+
@@ -121,9 +119,7 @@
${test.carrenza-vcloud-director.build-version}
${test.carrenza-vcloud-director.identity}
${test.carrenza-vcloud-director.credential}
- ${test.carrenza-vcloud-director.image-id}
- ${test.carrenza-vcloud-director.image.login-user}
- ${test.carrenza-vcloud-director.image.authenticate-sudo}
+ ${test.carrenza-vcloud-director.template}
${test.carrenza-vcloud-director.catalog-id}
${test.carrenza-vcloud-director.media-id}
${test.carrenza-vcloud-director.vapptemplate-id}
diff --git a/labs/elb/pom.xml b/labs/elb/pom.xml
index b8b7420e09..48649e2102 100644
--- a/labs/elb/pom.xml
+++ b/labs/elb/pom.xml
@@ -46,7 +46,7 @@
${test.aws.identity}
${test.aws.credential}
-
+
org.jclouds.elb*;version="${project.version}"
org.jclouds*;version="${project.version}",*
@@ -134,7 +134,7 @@
${test.elb.compute.build-version}
${test.elb.compute.identity}
${test.elb.compute.credential}
- ${test.elb.compute.image-id}
+ ${test.elb.compute.template}
diff --git a/labs/glesys/pom.xml b/labs/glesys/pom.xml
index d95f776971..bc2b6772d7 100644
--- a/labs/glesys/pom.xml
+++ b/labs/glesys/pom.xml
@@ -39,10 +39,7 @@
FIXME
FIXME
-
-
-
-
+
org.jclouds.glesys*;version="${project.version}"
org.jclouds*;version="${project.version}",*
@@ -102,9 +99,7 @@
${test.glesys.build-version}
${test.glesys.identity}
${test.glesys.credential}
- ${test.glesys.image-id}
- ${test.glesys.image.login-user}
- ${test.glesys.image.authenticate-sudo}
+ ${test.glesys.template}
diff --git a/labs/greenqloud-compute/pom.xml b/labs/greenqloud-compute/pom.xml
index 68750a9ad8..698f58ef82 100644
--- a/labs/greenqloud-compute/pom.xml
+++ b/labs/greenqloud-compute/pom.xml
@@ -39,7 +39,8 @@
${test.greenqloud.identity}
${test.greenqloud.credential}
-
+
+ osFamily=UBUNTU,osVersionMatches=1[012].[01][04],os64Bit=true
org.jclouds.greenqloud.compute*;version="${project.version}"
@@ -114,7 +115,7 @@
${test.greenqloud-compute.build-version}
${test.greenqloud-compute.identity}
${test.greenqloud-compute.credential}
- ${test.greenqloud-compute.image-id}
+ ${test.greenqloud-compute.template}
diff --git a/labs/opsource-servers/pom.xml b/labs/opsource-servers/pom.xml
index 7d2a0da341..71011b0d7a 100644
--- a/labs/opsource-servers/pom.xml
+++ b/labs/opsource-servers/pom.xml
@@ -39,9 +39,7 @@
FIXME_USERNAME
FIXME_PASSWORD
-
-
-
+
org.jclouds.vcloud.director.v1_5*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -107,9 +105,7 @@
${test.opsource-servers.build-version}
${test.opsource-servers.identity}
${test.opsource-servers.credential}
- ${test.opsource-servers.image-id}
- ${test.opsource-servers.image.login-user}
- ${test.opsource-servers.image.authenticate-sudo}
+ ${test.opsource-servers.template}
diff --git a/labs/rackspace-cloudservers-us/pom.xml b/labs/rackspace-cloudservers-us/pom.xml
index f5cd0e5016..cea349d38f 100644
--- a/labs/rackspace-cloudservers-us/pom.xml
+++ b/labs/rackspace-cloudservers-us/pom.xml
@@ -39,10 +39,7 @@
${test.rackspace-us.identity}
${test.rackspace-us.credential}
-
-
-
-
+
org.jclouds.rackspace.cloudservers.us*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -134,9 +131,7 @@
${test.rackspace-cloudservers-us.build-version}
${test.rackspace-cloudservers-us.identity}
${test.rackspace-cloudservers-us.credential}
- ${test.rackspace-cloudservers-us.image-id}
- ${test.rackspace-cloudservers-us.image.login-user}
- ${test.rackspace-cloudservers-us.image.authenticate-sudo}
+ ${test.rackspace-cloudservers-us.template}
diff --git a/labs/savvis-symphonyvpdc/pom.xml b/labs/savvis-symphonyvpdc/pom.xml
index 6b2b01b072..c69a761d1c 100644
--- a/labs/savvis-symphonyvpdc/pom.xml
+++ b/labs/savvis-symphonyvpdc/pom.xml
@@ -39,7 +39,7 @@
2.3
FIXME
FIXME
-
+
FIXME
FIXME
FIXME
@@ -112,7 +112,7 @@
${test.savvis-symphonyvpdc.build-version}
${test.savvis-symphonyvpdc.identity}
${test.savvis-symphonyvpdc.credential}
- ${test.savvis-symphonyvpdc.image-id}
+ ${test.savvis-symphonyvpdc.template}
${test.savvis-symphonyvpdc.vdc-email}
${test.savvis-symphonyvpdc.loginUser}
${test.savvis-symphonyvpdc.loginPassword}
diff --git a/labs/vcloud-director/pom.xml b/labs/vcloud-director/pom.xml
index 5d01a18b84..27a8807515 100644
--- a/labs/vcloud-director/pom.xml
+++ b/labs/vcloud-director/pom.xml
@@ -39,9 +39,7 @@
1.5.0.464915
FIXME_USERNAME_WHICH_MIGHT_BE_EMAIL@JClouds
FIXME_PASSWORD
-
-
-
+
@@ -125,9 +123,7 @@
${test.vcloud-director.build-version}
${test.vcloud-director.identity}
${test.vcloud-director.credential}
- ${test.vcloud-director.image-id}
- ${test.vcloud-director.image.login-user}
- ${test.vcloud-director.image.authenticate-sudo}
+ ${test.vcloud-director.template}
${test.vcloud-director.catalog-id}
${test.vcloud-director.media-id}
${test.vcloud-director.vapptemplate-id}
diff --git a/labs/virtualbox/pom.xml b/labs/virtualbox/pom.xml
index 3e5a1af7b9..7ef15905c6 100644
--- a/labs/virtualbox/pom.xml
+++ b/labs/virtualbox/pom.xml
@@ -40,10 +40,7 @@
4.1.8r75467
administrator
12345
- test-ubuntu-11.10-i386
- toor:password
- true
-
+ imageId=test-ubuntu-11.10-i386,loginUser=toor:password,authenticateSudo=true
org.jclouds.virtualbox*;version="${project.version}"
org.jclouds*;version="${project.version}",*
@@ -145,9 +142,7 @@
${test.virtualbox.build-version}
${test.virtualbox.identity}
${test.virtualbox.credential}
- ${test.virtualbox.image-id}
- ${test.virtualbox.image.login-user}
- ${test.virtualbox.image.authenticate-sudo}
+ ${test.virtualbox.template}
diff --git a/labs/virtualbox/src/test/java/org/jclouds/virtualbox/BaseVirtualBoxClientLiveTest.java b/labs/virtualbox/src/test/java/org/jclouds/virtualbox/BaseVirtualBoxClientLiveTest.java
index 1f7915f84d..b2c2c45213 100644
--- a/labs/virtualbox/src/test/java/org/jclouds/virtualbox/BaseVirtualBoxClientLiveTest.java
+++ b/labs/virtualbox/src/test/java/org/jclouds/virtualbox/BaseVirtualBoxClientLiveTest.java
@@ -139,8 +139,7 @@ public class BaseVirtualBoxClientLiveTest extends BaseComputeServiceContextLiveT
Template template = view.getComputeService().templateBuilder().build();
checkNotNull(mastersCache.apply(template.getImage()));
- imageId = template.getImage().getId();
- masterVmName = VIRTUALBOX_IMAGE_PREFIX + imageId;
+ masterVmName = VIRTUALBOX_IMAGE_PREFIX + template.getImage().getId();
isosDir = workingDir + File.separator + "isos";
hostVersion = Iterables.get(Splitter.on('r').split(view.utils().injector().getInstance(Key.get(String.class, BuildVersion.class))), 0);
@@ -174,7 +173,7 @@ public class BaseVirtualBoxClientLiveTest extends BaseComputeServiceContextLiveT
}
public MasterSpec getMasterSpecForTest() {
- String masterName = "jclouds-image-0x0-" + imageId;
+ String masterName = "jclouds-image-0x0-" + template.getImageId();
StorageController ideController = StorageController
.builder()
diff --git a/providers/aws-ec2/pom.xml b/providers/aws-ec2/pom.xml
index 3dc1cf6d08..3ea898198b 100644
--- a/providers/aws-ec2/pom.xml
+++ b/providers/aws-ec2/pom.xml
@@ -39,10 +39,8 @@
${test.aws.identity}
${test.aws.credential}
-
-
-
-
+
+ hardwareId=m1.small,imageId=us-west-2/ami-38c64a08
org.jclouds.aws.ec2*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -137,9 +135,8 @@
${test.aws-ec2.build-version}
${test.aws-ec2.identity}
${test.aws-ec2.credential}
- ${test.aws-ec2.image-id}
- ${test.aws-ec2.image.login-user}
- ${test.aws-ec2.image.authenticate-sudo}
+ ${test.aws-ec2.template}
+ ${test.aws-ec2.ebs-template}
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AMIClientLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AMIClientLiveTest.java
deleted file mode 100644
index 9cf363c4ee..0000000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AMIClientLiveTest.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. jclouds licenses this file
- * to you 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.
- */
-package org.jclouds.aws.ec2.services;
-
-import static org.jclouds.aws.ec2.options.AWSDescribeImagesOptions.Builder.filters;
-import static org.jclouds.aws.ec2.options.AWSDescribeImagesOptions.Builder.imageIds;
-import static org.jclouds.ec2.options.RegisterImageBackedByEbsOptions.Builder.addNewBlockDevice;
-import static org.jclouds.ec2.options.RegisterImageOptions.Builder.withDescription;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import org.jclouds.aws.domain.Region;
-import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.RunNodesException;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.compute.predicates.ImagePredicates;
-import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.ec2.domain.Image;
-import org.jclouds.ec2.domain.Reservation;
-import org.jclouds.ec2.domain.RootDeviceType;
-import org.jclouds.ec2.domain.RunningInstance;
-import org.jclouds.ec2.domain.Snapshot;
-import org.jclouds.ec2.domain.Image.ImageType;
-import org.jclouds.ec2.services.AMIClient;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-
-/**
- * Tests behavior of {@code AMIClient}
- *
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class AMIClientLiveTest extends BaseComputeServiceContextLiveTest {
- public AMIClientLiveTest() {
- provider = "aws-ec2";
- // TODO: parameterize this.
- imageId = "ami-cdf819a4";
- }
-
- private AMIClient client;
- private static final String DEFAULT_MANIFEST = "adrianimages/image.manifest.xml";
- private static final String DEFAULT_SNAPSHOT = "TODO";
-
- private Set imagesToDeregister = Sets.newHashSet();
- private Set snapshotsToDelete = Sets.newHashSet();
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- client = view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getAMIServices();
- }
-
- public void testDescribeImageNotExists() {
- assertEquals(client.describeImagesInRegion(null, imageIds("ami-cdf819a3")).size(), 0);
- }
-
- @Test(expectedExceptions = IllegalArgumentException.class)
- public void testDescribeImageBadId() {
- client.describeImagesInRegion(null, imageIds("asdaasdsa"));
- }
-
- public void testDescribeImages() {
- for (String region : view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getAvailabilityZoneAndRegionServices().describeRegions().keySet()) {
- Set extends Image> allResults = client.describeImagesInRegion(region);
- assertNotNull(allResults);
- assert allResults.size() >= 2 : allResults.size();
- Iterator extends Image> iterator = allResults.iterator();
- String id1 = iterator.next().getId();
- String id2 = iterator.next().getId();
- Set extends Image> twoResults = client.describeImagesInRegion(region, imageIds(id1, id2));
- assertNotNull(twoResults);
- assertEquals(twoResults.size(), 2);
- iterator = twoResults.iterator();
- assertEquals(iterator.next().getId(), id1);
- assertEquals(iterator.next().getId(), id2);
- }
- }
-
- public void testDescribeImagesCC() {
- Set extends Image> ccResults = client.describeImagesInRegion(Region.US_EAST_1, filters(
- ImmutableMultimap. builder()//
- .put("virtualization-type", "hvm")//
- .put("architecture", "x86_64")//
- .putAll("owner-id", ImmutableSet. of("137112412989", "099720109477"))//
- .put("hypervisor", "xen")//
- .put("state", "available")//
- .put("image-type", "machine")//
- .put("root-device-type", "ebs")//
- .build()).ownedBy("137112412989", "099720109477"));
- assertNotNull(ccResults);
- assert (ccResults.size() >= 34) : ccResults;
- }
-
- @Test(enabled = false)
- public void testRegisterImageFromManifest() {
- String imageRegisteredId = client.registerImageFromManifestInRegion(null, "jcloudstest1", DEFAULT_MANIFEST);
- imagesToDeregister.add(imageRegisteredId);
- Image imageRegisteredFromManifest = Iterables.getOnlyElement(client.describeImagesInRegion(null,
- imageIds(imageRegisteredId)));
- assertEquals(imageRegisteredFromManifest.getName(), "jcloudstest1");
- assertEquals(imageRegisteredFromManifest.getImageLocation(), DEFAULT_MANIFEST);
- assertEquals(imageRegisteredFromManifest.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegisteredFromManifest.getRootDeviceType(), RootDeviceType.INSTANCE_STORE);
- assertEquals(imageRegisteredFromManifest.getRootDeviceName(), "/dev/sda1");
- }
-
- @Test(enabled = false)
- public void testRegisterImageFromManifestOptions() {
- String imageRegisteredWithOptionsId = client.registerImageFromManifestInRegion(null, "jcloudstest2",
- DEFAULT_MANIFEST, withDescription("adrian"));
- imagesToDeregister.add(imageRegisteredWithOptionsId);
- Image imageRegisteredFromManifestWithOptions = Iterables.getOnlyElement(client.describeImagesInRegion(null,
- imageIds(imageRegisteredWithOptionsId)));
- assertEquals(imageRegisteredFromManifestWithOptions.getName(), "jcloudstest2");
- assertEquals(imageRegisteredFromManifestWithOptions.getImageLocation(), DEFAULT_MANIFEST);
- assertEquals(imageRegisteredFromManifestWithOptions.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegisteredFromManifestWithOptions.getRootDeviceType(), RootDeviceType.INSTANCE_STORE);
- assertEquals(imageRegisteredFromManifestWithOptions.getRootDeviceName(), "/dev/sda1");
- assertEquals(imageRegisteredFromManifestWithOptions.getDescription(), "adrian");
- }
-
- @Test
- public void testNewlyRegisteredImageCanBeListed() throws Exception {
- ComputeService computeService = view.getComputeService();
- Snapshot snapshot = createSnapshot(computeService);
-
- // List of images before...
- int sizeBefore = computeService.listImages().size();
-
- // Register a new image...
- final String imageRegisteredId = client.registerUnixImageBackedByEbsInRegion(null, "jcloudstest1", snapshot.getId());
- imagesToDeregister.add(imageRegisteredId);
- final Image imageRegistered = Iterables.getOnlyElement(client.describeImagesInRegion(null, imageIds(imageRegisteredId)));
-
- // This is the suggested method to ensure the new image ID is inserted into the cache
- // (suggested by adriancole_ on #jclouds)
- computeService.templateBuilder().imageId(imageRegistered.getRegion() + "/" + imageRegisteredId).build();
-
- // List of images after - should be one larger than before
- Set extends org.jclouds.compute.domain.Image> after = computeService.listImages();
- assertEquals(after.size(), sizeBefore + 1);
-
- // Detailed check: filter for the AMI ID
- Iterable extends org.jclouds.compute.domain.Image> filtered = Iterables.filter(after,
- ImagePredicates.idEquals(imageRegistered.getRegion() + "/" + imageRegisteredId));
- assertEquals(Iterables.size(filtered), 1);
- }
-
- // Fires up an instance, finds its root volume ID, takes a snapshot, then terminates the instance.
- private Snapshot createSnapshot(ComputeService computeService) throws RunNodesException {
- Template options = computeService.templateBuilder().smallest().build();
- Set extends NodeMetadata> nodes = computeService.createNodesInGroup("jcloudstest", 1, options);
- try {
- String instanceId = Iterables.getOnlyElement(nodes).getProviderId();
- Reservation extends RunningInstance> reservation = Iterables.getOnlyElement(view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getInstanceServices().describeInstancesInRegion(null, instanceId));
- RunningInstance instance = Iterables.getOnlyElement(reservation);
- BlockDevice device = instance.getEbsBlockDevices().get("/dev/sda1");
- Snapshot snapshot = view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getElasticBlockStoreServices().createSnapshotInRegion(null, device.getVolumeId());
- snapshotsToDelete.add(snapshot.getId());
- return snapshot;
- } finally {
- computeService.destroyNodesMatching(Predicates.in(nodes));
- }
- }
-
- @Test(enabled = false)
- // awaiting EBS functionality to be added to jclouds
- public void testRegisterImageBackedByEBS() {
- String imageRegisteredId = client.registerUnixImageBackedByEbsInRegion(null, "jcloudstest1", DEFAULT_MANIFEST);
- imagesToDeregister.add(imageRegisteredId);
- Image imageRegistered = Iterables
- .getOnlyElement(client.describeImagesInRegion(null, imageIds(imageRegisteredId)));
- assertEquals(imageRegistered.getName(), "jcloudstest1");
- assertEquals(imageRegistered.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegistered.getRootDeviceType(), RootDeviceType.EBS);
- assertEquals(imageRegistered.getRootDeviceName(), "/dev/sda1");
- }
-
- @Test(enabled = false)
- // awaiting EBS functionality to be added to jclouds
- public void testRegisterImageBackedByEBSOptions() {
- String imageRegisteredWithOptionsId = client.registerUnixImageBackedByEbsInRegion(null, "jcloudstest2",
- DEFAULT_SNAPSHOT, addNewBlockDevice("/dev/sda2", "myvirtual", 1).withDescription("adrian"));
- imagesToDeregister.add(imageRegisteredWithOptionsId);
- Image imageRegisteredWithOptions = Iterables.getOnlyElement(client.describeImagesInRegion(null,
- imageIds(imageRegisteredWithOptionsId)));
- assertEquals(imageRegisteredWithOptions.getName(), "jcloudstest2");
- assertEquals(imageRegisteredWithOptions.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegisteredWithOptions.getRootDeviceType(), RootDeviceType.EBS);
- assertEquals(imageRegisteredWithOptions.getRootDeviceName(), "/dev/sda1");
- assertEquals(imageRegisteredWithOptions.getDescription(), "adrian");
- assertEquals(imageRegisteredWithOptions.getEbsBlockDevices().entrySet(), ImmutableMap.of("/dev/sda1",
- new Image.EbsBlockDevice("/dev/sda1", 30, true), "/dev/sda2",
- new Image.EbsBlockDevice("/dev/sda2", 1, true)).entrySet());
- }
-
- @Test(enabled = false)
- public void testCreateImage() {
- // TODO client.createImageInRegion(null, name, instanceId, options);
- }
-
- @Test(enabled = false)
- public void testAddProductCodesToImage() {
- // TODO client.addProductCodesToImageInRegion(null, productCodes, imageId);
- }
-
- @Test(enabled = false)
- public void testAddLaunchPermissionsToImage() {
- // TODO client.addLaunchPermissionsToImageInRegion(null, userIds, userGroups,
- // imageId);
- }
-
- @Test(enabled = false)
- public void testRemoveLaunchPermissionsFromImage() {
- // TODO client.removeLaunchPermissionsFromImageInRegion(null, userIds, userGroups,
- // imageId);
- }
-
- @Test(enabled = false)
- public void testResetLaunchPermissionsOnImage() {
- // TODO client.resetLaunchPermissionsOnImageInRegion(null, imageId);
- }
-
- @Test(enabled = false)
- public void testGetLaunchPermissionForImage() {
- System.out.println(client.getLaunchPermissionForImageInRegion(null, imageId));
- }
-
- @Test(enabled = false)
- // awaiting ebs support
- public void testGetBlockDeviceMappingsForImage() {
- System.out.println(client.getBlockDeviceMappingsForImageInRegion(null, imageId));
- }
-
- @AfterTest
- public void cleanUp() {
- for (String imageId : imagesToDeregister)
- client.deregisterImageInRegion(null, imageId);
- for (String snapshotId : snapshotsToDelete)
- view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getElasticBlockStoreServices().deleteSnapshotInRegion(null, snapshotId);
- }
-
-}
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSAMIClientLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSAMIClientLiveTest.java
index 739e843f4b..fdab925e18 100644
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSAMIClientLiveTest.java
+++ b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSAMIClientLiveTest.java
@@ -18,186 +18,43 @@
*/
package org.jclouds.aws.ec2.services;
-import static org.jclouds.aws.ec2.options.AWSDescribeImagesOptions.Builder.imageIds;
-import static org.jclouds.ec2.options.RegisterImageBackedByEbsOptions.Builder.addNewBlockDevice;
-import static org.jclouds.ec2.options.RegisterImageOptions.Builder.withDescription;
-import static org.testng.Assert.assertEquals;
+import static org.jclouds.aws.ec2.options.AWSDescribeImagesOptions.Builder.filters;
import static org.testng.Assert.assertNotNull;
-import java.util.Iterator;
import java.util.Set;
-import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
+import org.jclouds.aws.domain.Region;
import org.jclouds.ec2.domain.Image;
-import org.jclouds.ec2.domain.RootDeviceType;
-import org.jclouds.ec2.domain.Image.ImageType;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.BeforeClass;
+import org.jclouds.ec2.services.AMIClientLiveTest;
import org.testng.annotations.Test;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
+import com.google.common.collect.ImmutableMultimap;
+import com.google.common.collect.ImmutableSet;
/**
- * Tests behavior of {@code AWSAMIClient}
+ * Tests behavior of {@code AMIClient}
*
* @author Adrian Cole
*/
-@Test(groups = "live", singleThreaded = true, testName = "AWSAMIClientLiveTest")
-public class AWSAMIClientLiveTest extends BaseComputeServiceContextLiveTest {
+@Test(groups = "live", singleThreaded = true)
+public class AWSAMIClientLiveTest extends AMIClientLiveTest {
+
public AWSAMIClientLiveTest() {
provider = "aws-ec2";
- // TODO: parameterize this.
- imageId = "ami-7ea24a17";
- }
-
- private AWSAMIClient client;
- private static final String DEFAULT_MANIFEST = "adrianimages/image.manifest.xml";
- private static final String DEFAULT_SNAPSHOT = "TODO";
-
- private Set imagesToDeregister = Sets.newHashSet();
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- client = view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getAMIServices();
}
- public void testDescribeImageNotExists() {
- assertEquals(client.describeImagesInRegion(null, imageIds("ami-cdf819a3")).size(), 0);
- }
-
- @Test(expectedExceptions = IllegalArgumentException.class)
- public void testDescribeImageBadId() {
- client.describeImagesInRegion(null, imageIds("asdaasdsa"));
- }
-
- public void testDescribeImages() {
- for (String region : view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getAvailabilityZoneAndRegionServices().describeRegions().keySet()) {
- Set allResults = Sets.newLinkedHashSet(client.describeImagesInRegion(region));
- assertNotNull(allResults);
- assert allResults.size() >= 2 : allResults.size();
- Iterator iterator = allResults.iterator();
- String id1 = iterator.next().getId();
- String id2 = iterator.next().getId();
- Set twoResults = Sets.newLinkedHashSet(client.describeImagesInRegion(region, imageIds(id1, id2)));
- assertNotNull(twoResults);
- assertEquals(twoResults.size(), 2);
- iterator = twoResults.iterator();
- assertEquals(iterator.next().getId(), id1);
- assertEquals(iterator.next().getId(), id2);
- }
- }
-
- @Test(enabled = false)
- public void testRegisterImageFromManifest() {
- String imageRegisteredId = client.registerImageFromManifestInRegion(null, "jcloudstest1", DEFAULT_MANIFEST);
- imagesToDeregister.add(imageRegisteredId);
- Image imageRegisteredFromManifest = Iterables.getOnlyElement(client.describeImagesInRegion(null,
- imageIds(imageRegisteredId)));
- assertEquals(imageRegisteredFromManifest.getName(), "jcloudstest1");
- assertEquals(imageRegisteredFromManifest.getImageLocation(), DEFAULT_MANIFEST);
- assertEquals(imageRegisteredFromManifest.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegisteredFromManifest.getRootDeviceType(), RootDeviceType.INSTANCE_STORE);
- assertEquals(imageRegisteredFromManifest.getRootDeviceName(), "/dev/sda1");
- }
-
- @Test(enabled = false)
- public void testRegisterImageFromManifestOptions() {
- String imageRegisteredWithOptionsId = client.registerImageFromManifestInRegion(null, "jcloudstest2",
- DEFAULT_MANIFEST, withDescription("adrian"));
- imagesToDeregister.add(imageRegisteredWithOptionsId);
- Image imageRegisteredFromManifestWithOptions = Iterables.getOnlyElement(client.describeImagesInRegion(null,
- imageIds(imageRegisteredWithOptionsId)));
- assertEquals(imageRegisteredFromManifestWithOptions.getName(), "jcloudstest2");
- assertEquals(imageRegisteredFromManifestWithOptions.getImageLocation(), DEFAULT_MANIFEST);
- assertEquals(imageRegisteredFromManifestWithOptions.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegisteredFromManifestWithOptions.getRootDeviceType(), RootDeviceType.INSTANCE_STORE);
- assertEquals(imageRegisteredFromManifestWithOptions.getRootDeviceName(), "/dev/sda1");
- assertEquals(imageRegisteredFromManifestWithOptions.getDescription(), "adrian");
- }
-
- @Test(enabled = false)
- // awaiting EBS functionality to be added to jclouds
- public void testRegisterImageBackedByEBS() {
- String imageRegisteredId = client.registerUnixImageBackedByEbsInRegion(null, "jcloudstest1", DEFAULT_MANIFEST);
- imagesToDeregister.add(imageRegisteredId);
- Image imageRegistered = Iterables
- .getOnlyElement(client.describeImagesInRegion(null, imageIds(imageRegisteredId)));
- assertEquals(imageRegistered.getName(), "jcloudstest1");
- assertEquals(imageRegistered.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegistered.getRootDeviceType(), RootDeviceType.EBS);
- assertEquals(imageRegistered.getRootDeviceName(), "/dev/sda1");
- }
-
- @Test(enabled = false)
- // awaiting EBS functionality to be added to jclouds
- public void testRegisterImageBackedByEBSOptions() {
- String imageRegisteredWithOptionsId = client.registerUnixImageBackedByEbsInRegion(null, "jcloudstest2",
- DEFAULT_SNAPSHOT, addNewBlockDevice("/dev/sda2", "myvirtual", 1).withDescription("adrian"));
- imagesToDeregister.add(imageRegisteredWithOptionsId);
- Image imageRegisteredWithOptions = Iterables.getOnlyElement(client.describeImagesInRegion(null,
- imageIds(imageRegisteredWithOptionsId)));
- assertEquals(imageRegisteredWithOptions.getName(), "jcloudstest2");
- assertEquals(imageRegisteredWithOptions.getImageType(), ImageType.MACHINE);
- assertEquals(imageRegisteredWithOptions.getRootDeviceType(), RootDeviceType.EBS);
- assertEquals(imageRegisteredWithOptions.getRootDeviceName(), "/dev/sda1");
- assertEquals(imageRegisteredWithOptions.getDescription(), "adrian");
- assertEquals(
- imageRegisteredWithOptions.getEbsBlockDevices().entrySet(),
- ImmutableMap.of("/dev/sda1", new Image.EbsBlockDevice("/dev/sda1", 30, true), "/dev/sda2",
- new Image.EbsBlockDevice("/dev/sda2", 1, true)).entrySet());
- }
-
- @Test(enabled = false)
- public void testCreateImage() {
- // TODO client.createImageInRegion(null, name, instanceId, options);
- }
-
- @Test(enabled = false)
- public void testAddProductCodesToImage() {
- // TODO client.addProductCodesToImageInRegion(null, productCodes, imageId);
- }
-
- @Test(enabled = false)
- public void testAddLaunchPermissionsToImage() {
- // TODO client.addLaunchPermissionsToImageInRegion(null, userIds, userGroups,
- // imageId);
- }
-
- @Test(enabled = false)
- public void testRemoveLaunchPermissionsFromImage() {
- // TODO client.removeLaunchPermissionsFromImageInRegion(null, userIds, userGroups,
- // imageId);
- }
-
- @Test(enabled = false)
- public void testResetLaunchPermissionsOnImage() {
- // TODO client.resetLaunchPermissionsOnImageInRegion(null, imageId);
- }
-
- @Test(enabled = false)
- public void testGetLaunchPermissionForImage() {
- // TODO System.out.println(client.getLaunchPermissionForImageInRegion(null, imageId));
- }
-
- @Test(enabled = false)
- public void testGetProductCodesForImage() {
- // TODO System.out.println(client.getProductCodesForImageInRegion(null, imageId));
- }
-
- @Test(enabled = false)
- // awaiting ebs support
- public void testGetBlockDeviceMappingsForImage() {
- System.out.println(client.getBlockDeviceMappingsForImageInRegion(null, imageId));
- }
-
- @AfterTest
- public void deregisterImages() {
- for (String imageId : imagesToDeregister)
- client.deregisterImageInRegion(null, imageId);
+ public void testDescribeImagesCC() {
+ Set extends Image> ccResults = client.describeImagesInRegion(Region.US_EAST_1,
+ filters(ImmutableMultimap. builder()//
+ .put("virtualization-type", "hvm")//
+ .put("architecture", "x86_64")//
+ .putAll("owner-id", ImmutableSet. of("137112412989", "099720109477"))//
+ .put("hypervisor", "xen")//
+ .put("state", "available")//
+ .put("image-type", "machine")//
+ .put("root-device-type", "ebs")//
+ .build()).ownedBy("137112412989", "099720109477"));
+ assertNotNull(ccResults);
+ assert (ccResults.size() >= 34) : ccResults;
}
}
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupClientLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupClientLiveTest.java
index 74b2be2578..63939d1231 100644
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupClientLiveTest.java
+++ b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupClientLiveTest.java
@@ -47,7 +47,7 @@ import org.jclouds.scriptbuilder.domain.Statements;
import org.jclouds.scriptbuilder.statements.java.InstallJDK;
import org.jclouds.scriptbuilder.statements.login.AdminAccess;
import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.AfterTest;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -163,12 +163,14 @@ public class PlacementGroupClientLiveTest extends BaseComputeServiceContextLiveT
public static final String PREFIX = System.getProperty("user.name") + "ec2";
- @AfterTest
- public void shutdown() {
+ @Override
+ @AfterClass(groups = { "integration", "live" })
+ protected void tearDownContext() {
if (group != null) {
client.getPlacementGroupServices().deletePlacementGroupInRegion(group.getRegion(), group.getName());
assert deletedTester.apply(group) : group;
}
+ super.tearDownContext();
}
@Override
diff --git a/providers/bluelock-vcloud-zone01/pom.xml b/providers/bluelock-vcloud-zone01/pom.xml
index c9d3bd6cdb..68786b0d1c 100644
--- a/providers/bluelock-vcloud-zone01/pom.xml
+++ b/providers/bluelock-vcloud-zone01/pom.xml
@@ -39,10 +39,7 @@
1.5.0.464915
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
-
+
org.jclouds.bluelock.vcloud.zone01*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -115,9 +112,7 @@
${test.bluelock-vcloud-zone01.build-version}
${test.bluelock-vcloud-zone01.identity}
${test.bluelock-vcloud-zone01.credential}
- ${test.bluelock-vcloud-zone01.image-id}
- ${test.bluelock-vcloud-zone01.image.login-user}
- ${test.bluelock-vcloud-zone01.image.authenticate-sudo}
+ ${test.bluelock-vcloud-zone01.template}
diff --git a/providers/cloudservers-uk/pom.xml b/providers/cloudservers-uk/pom.xml
index 6824736748..771662ca44 100644
--- a/providers/cloudservers-uk/pom.xml
+++ b/providers/cloudservers-uk/pom.xml
@@ -39,10 +39,7 @@
${test.rackspace-uk.identity}
${test.rackspace-uk.credential}
-
-
-
-
+
org.jclouds.rackspace.cloudservers*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -120,9 +117,7 @@
${test.cloudservers-uk.build-version}
${test.cloudservers-uk.identity}
${test.cloudservers-uk.credential}
- ${test.cloudservers-uk.image-id}
- ${test.cloudservers-uk.image.login-user}
- ${test.cloudservers-uk.image.authenticate-sudo}
+ ${test.cloudservers-uk.template}
diff --git a/providers/cloudservers-us/pom.xml b/providers/cloudservers-us/pom.xml
index ffad8b0127..70a314009c 100644
--- a/providers/cloudservers-us/pom.xml
+++ b/providers/cloudservers-us/pom.xml
@@ -39,10 +39,7 @@
${test.rackspace-us.identity}
${test.rackspace-us.credential}
-
-
-
-
+
org.jclouds.rackspace.cloudservers*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -121,9 +118,7 @@
${test.cloudservers-us.build-version}
${test.cloudservers-us.identity}
${test.cloudservers-us.credential}
- ${test.cloudservers-us.image-id}
- ${test.cloudservers-us.image.login-user}
- ${test.cloudservers-us.image.authenticate-sudo}
+ ${test.cloudservers-us.template}
diff --git a/providers/cloudsigma-lvs/pom.xml b/providers/cloudsigma-lvs/pom.xml
index 40588bc9c7..46b4ff1ff9 100644
--- a/providers/cloudsigma-lvs/pom.xml
+++ b/providers/cloudsigma-lvs/pom.xml
@@ -39,9 +39,7 @@
FIXME
FIXME
-
-
-
+
org.jclouds.cloudsigma*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -114,9 +112,7 @@
${test.cloudsigma-lvs.build-version}
${test.cloudsigma-lvs.identity}
${test.cloudsigma-lvs.credential}
- ${test.cloudsigma-lvs.image-id}
- ${test.cloudsigma-lvs.image.login-user}
- ${test.cloudsigma-lvs.image.authenticate-sudo}
+ ${test.cloudsigma-lvs.template}
diff --git a/providers/cloudsigma-zrh/pom.xml b/providers/cloudsigma-zrh/pom.xml
index 9ef52e455b..a8d9b8df0d 100644
--- a/providers/cloudsigma-zrh/pom.xml
+++ b/providers/cloudsigma-zrh/pom.xml
@@ -39,10 +39,7 @@
FIXME
FIXME
-
-
-
-
+
org.jclouds.cloudsigma*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -115,9 +112,7 @@
${test.cloudsigma-zrh.build-version}
${test.cloudsigma-zrh.identity}
${test.cloudsigma-zrh.credential}
- ${test.cloudsigma-zrh.image-id}
- ${test.cloudsigma-zrh.image.login-user}
- ${test.cloudsigma-zrh.image.authenticate-sudo}
+ ${test.cloudsigma-zrh.template}
diff --git a/providers/elastichosts-lax-p/pom.xml b/providers/elastichosts-lax-p/pom.xml
index 6f5718cb8f..ca0e7f5002 100644
--- a/providers/elastichosts-lax-p/pom.xml
+++ b/providers/elastichosts-lax-p/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.elastichosts*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.elastichosts-lax-p.build-version}
${test.elastichosts-lax-p.identity}
${test.elastichosts-lax-p.credential}
- ${test.elastichosts-lax-p.image-id}
+ ${test.elastichosts-lax-p.template}
diff --git a/providers/elastichosts-lon-b/pom.xml b/providers/elastichosts-lon-b/pom.xml
index b627498781..6acef2280d 100644
--- a/providers/elastichosts-lon-b/pom.xml
+++ b/providers/elastichosts-lon-b/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.elastichosts*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.elastichosts-lon-b.build-version}
${test.elastichosts-lon-b.identity}
${test.elastichosts-lon-b.credential}
- ${test.elastichosts-lon-b.image-id}
+ ${test.elastichosts-lon-b.template}
diff --git a/providers/elastichosts-lon-p/pom.xml b/providers/elastichosts-lon-p/pom.xml
index 0eabd22f51..4bc74dda1b 100644
--- a/providers/elastichosts-lon-p/pom.xml
+++ b/providers/elastichosts-lon-p/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.elastichosts*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.elastichosts-lon-p.build-version}
${test.elastichosts-lon-p.identity}
${test.elastichosts-lon-p.credential}
- ${test.elastichosts-lon-p.image-id}
+ ${test.elastichosts-lon-p.template}
diff --git a/providers/elastichosts-sat-p/pom.xml b/providers/elastichosts-sat-p/pom.xml
index f00132986c..6061d89d0a 100644
--- a/providers/elastichosts-sat-p/pom.xml
+++ b/providers/elastichosts-sat-p/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.elastichosts*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.elastichosts-sat-p.build-version}
${test.elastichosts-sat-p.identity}
${test.elastichosts-sat-p.credential}
- ${test.elastichosts-sat-p.image-id}
+ ${test.elastichosts-sat-p.template}
diff --git a/providers/elastichosts-tor-p/pom.xml b/providers/elastichosts-tor-p/pom.xml
index 32d4b96999..29e566c8b3 100644
--- a/providers/elastichosts-tor-p/pom.xml
+++ b/providers/elastichosts-tor-p/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.elastichosts*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.elastichosts-tor-p.build-version}
${test.elastichosts-tor-p.identity}
${test.elastichosts-tor-p.credential}
- ${test.elastichosts-tor-p.image-id}
+ ${test.elastichosts-tor-p.template}
diff --git a/providers/eucalyptus-partnercloud-ec2/pom.xml b/providers/eucalyptus-partnercloud-ec2/pom.xml
index ad10fef969..70167855e2 100644
--- a/providers/eucalyptus-partnercloud-ec2/pom.xml
+++ b/providers/eucalyptus-partnercloud-ec2/pom.xml
@@ -39,7 +39,8 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
+
kvm
@@ -128,7 +129,8 @@
${test.eucalyptus-partnercloud-ec2.build-version}
${test.eucalyptus-partnercloud-ec2.identity}
${test.eucalyptus-partnercloud-ec2.credential}
- ${test.eucalyptus-partnercloud-ec2.image-id}
+ ${test.eucalyptus-partnercloud-ec2.template}
+ ${test.eucalyptus-partnercloud-ec2.ebs-template}
${test.eucalyptus-partnercloud-ec2.virtualization-type}
diff --git a/providers/go2cloud-jhb1/pom.xml b/providers/go2cloud-jhb1/pom.xml
index 3d03a911b4..81e9026401 100644
--- a/providers/go2cloud-jhb1/pom.xml
+++ b/providers/go2cloud-jhb1/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.go2cloud*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.go2cloud-jhb1.build-version}
${test.go2cloud-jhb1.identity}
${test.go2cloud-jhb1.credential}
- ${test.go2cloud-jhb1.image-id}
+ ${test.go2cloud-jhb1.template}
diff --git a/providers/gogrid/pom.xml b/providers/gogrid/pom.xml
index 4c2ccd5fad..b42e13c1af 100644
--- a/providers/gogrid/pom.xml
+++ b/providers/gogrid/pom.xml
@@ -39,7 +39,7 @@
FIXME
FIXME
-
+
org.jclouds.gogrid*;version="${project.version}"
@@ -106,7 +106,7 @@
${test.gogrid.build-version}
${test.gogrid.identity}
${test.gogrid.credential}
- ${test.gogrid.image-id}
+ ${test.gogrid.template}
diff --git a/providers/greenhousedata-element-vcloud/pom.xml b/providers/greenhousedata-element-vcloud/pom.xml
index 1212a5c95a..640bcf0924 100644
--- a/providers/greenhousedata-element-vcloud/pom.xml
+++ b/providers/greenhousedata-element-vcloud/pom.xml
@@ -39,10 +39,7 @@
1.5.0.464915
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
-
+
org.jclouds.greenhousedata.element.vcloud*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -115,9 +112,7 @@
${test.greenhousedata-element-vcloud.build-version}
${test.greenhousedata-element-vcloud.identity}
${test.greenhousedata-element-vcloud.credential}
- ${test.greenhousedata-element-vcloud.image-id}
- ${test.greenhousedata-element-vcloud.image.login-user}
- ${test.greenhousedata-element-vcloud.image.authenticate-sudo}
+ ${test.greenhousedata-element-vcloud.template}
diff --git a/providers/hpcloud-compute/pom.xml b/providers/hpcloud-compute/pom.xml
index 825bf7075c..aaa4bfd114 100644
--- a/providers/hpcloud-compute/pom.xml
+++ b/providers/hpcloud-compute/pom.xml
@@ -39,10 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
-
+
org.jclouds.hpcloud.compute*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -122,9 +119,7 @@
${test.hpcloud-compute.build-version}
${test.hpcloud-compute.identity}
${test.hpcloud-compute.credential}
- ${test.hpcloud-compute.image-id}
- ${test.hpcloud-compute.image.login-user}
- ${test.hpcloud-compute.image.authenticate-sudo}
+ ${test.hpcloud-compute.template}
diff --git a/providers/ninefold-compute/pom.xml b/providers/ninefold-compute/pom.xml
index ccb42dd382..3668e06e0b 100644
--- a/providers/ninefold-compute/pom.xml
+++ b/providers/ninefold-compute/pom.xml
@@ -39,10 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
- 1215
- user:Password01
- true
-
+ imageId=1215,loginUser=user:Password01,authenticateSudo=true
org.jclouds.ninefold.compute*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -116,9 +113,7 @@
${test.ninefold-compute.build-version}
${test.ninefold-compute.identity}
${test.ninefold-compute.credential}
- ${test.ninefold-compute.image-id}
- ${test.ninefold-compute.image.login-user}
- ${test.ninefold-compute.image.authenticate-sudo}
+ ${test.ninefold-compute.template}
diff --git a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java
index fcdb27538b..912727f32d 100644
--- a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java
+++ b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java
@@ -71,14 +71,14 @@ public class NinefoldComputeTemplateBuilderLiveTest extends BaseTemplateBuilderL
@Test
public void testDefaultTemplateBuilder() throws IOException {
Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
- if (imageId == null) {
+ if (template == null) {
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.04");
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
assertEquals(defaultTemplate.getLocation().getId(), "1");
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
} else {
- assertEquals(defaultTemplate.getImage(), this.view.getComputeService().templateBuilder().imageId(imageId)
+ assertEquals(defaultTemplate.getImage(), this.view.getComputeService().templateBuilder().from(template)
.build().getImage());
}
}
diff --git a/providers/openhosting-east1/pom.xml b/providers/openhosting-east1/pom.xml
index 2d87dbcc9d..7e87b05a9e 100644
--- a/providers/openhosting-east1/pom.xml
+++ b/providers/openhosting-east1/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.openhosting*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.openhosting-east1.build-version}
${test.openhosting-east1.identity}
${test.openhosting-east1.credential}
- ${test.openhosting-east1.image-id}
+ ${test.openhosting-east1.template}
diff --git a/providers/rimuhosting/pom.xml b/providers/rimuhosting/pom.xml
index ba7d16a413..7ecbb094bb 100644
--- a/providers/rimuhosting/pom.xml
+++ b/providers/rimuhosting/pom.xml
@@ -38,7 +38,7 @@
1.0
FIXME
-
+
org.jclouds.rimuhosting.miro*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.rimuhosting.api-version}
${test.rimuhosting.build-version}
${test.rimuhosting.identity}
- ${test.rimuhosting.image-id}
+ ${test.rimuhosting.template}
diff --git a/providers/serverlove-z1-man/pom.xml b/providers/serverlove-z1-man/pom.xml
index 4aba15a885..4b0ef8a8c6 100644
--- a/providers/serverlove-z1-man/pom.xml
+++ b/providers/serverlove-z1-man/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.serverlove*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -112,7 +112,7 @@
${test.serverlove-z1-man.build-version}
${test.serverlove-z1-man.identity}
${test.serverlove-z1-man.credential}
- ${test.serverlove-z1-man.image-id}
+ ${test.serverlove-z1-man.template}
diff --git a/providers/skalicloud-sdg-my/pom.xml b/providers/skalicloud-sdg-my/pom.xml
index a9f7e66132..e1b38fa4ce 100644
--- a/providers/skalicloud-sdg-my/pom.xml
+++ b/providers/skalicloud-sdg-my/pom.xml
@@ -39,7 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
+
org.jclouds.skalicloud*;version="${project.version}"
@@ -113,7 +113,7 @@
${test.skalicloud-sdg-my.build-version}
${test.skalicloud-sdg-my.identity}
${test.skalicloud-sdg-my.credential}
- ${test.skalicloud-sdg-my.image-id}
+ ${test.skalicloud-sdg-my.template}
diff --git a/providers/slicehost/pom.xml b/providers/slicehost/pom.xml
index 9e0876d015..80f8a67767 100644
--- a/providers/slicehost/pom.xml
+++ b/providers/slicehost/pom.xml
@@ -38,7 +38,7 @@
1.4.1.1
FIXME
-
+
org.jclouds.slicehost*;version="${project.version}"
@@ -105,7 +105,7 @@
${test.slicehost.api-version}
${test.slicehost.build-version}
${test.slicehost.identity}
- ${test.slicehost.image-id}
+ ${test.slicehost.template}
diff --git a/providers/softlayer/pom.xml b/providers/softlayer/pom.xml
index 6a5b8099dd..9ddb6e2b76 100644
--- a/providers/softlayer/pom.xml
+++ b/providers/softlayer/pom.xml
@@ -53,10 +53,7 @@
FIXME
FIXME
-
-
-
-
+
org.jclouds.softlayer*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -120,9 +117,7 @@
${test.softlayer.build-version}
${test.softlayer.identity}
${test.softlayer.credential}
- ${test.softlayer.image-id}
- ${test.softlayer.image.login-user}
- ${test.softlayer.image.authenticate-sudo}
+ ${test.softlayer.template}
diff --git a/providers/stratogen-vcloud-mycloud/pom.xml b/providers/stratogen-vcloud-mycloud/pom.xml
index 99104b655a..5f80ed3aad 100644
--- a/providers/stratogen-vcloud-mycloud/pom.xml
+++ b/providers/stratogen-vcloud-mycloud/pom.xml
@@ -39,10 +39,7 @@
1.5.0.464915
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
-
+
org.jclouds.stratogen.vcloud.mycloud*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -115,9 +112,7 @@
${test.stratogen-vcloud-mycloud.build-version}
${test.stratogen-vcloud-mycloud.identity}
${test.stratogen-vcloud-mycloud.credential}
- ${test.stratogen-vcloud-mycloud.image-id}
- ${test.stratogen-vcloud-mycloud.image.login-user}
- ${test.stratogen-vcloud-mycloud.image.authenticate-sudo}
+ ${test.stratogen-vcloud-mycloud.template}
diff --git a/providers/trmk-ecloud/pom.xml b/providers/trmk-ecloud/pom.xml
index 9fb87647a9..f38b244936 100644
--- a/providers/trmk-ecloud/pom.xml
+++ b/providers/trmk-ecloud/pom.xml
@@ -40,7 +40,7 @@
FIXME
FIXME
-
+
org.jclouds.trmk.ecloud*;version="${project.version}"
@@ -116,7 +116,7 @@
${test.trmk-ecloud.identity}
${test.trmk-ecloud.credential}
${test.trmk-ecloud.datacenter}
- ${test.trmk-ecloud.image-id}
+ ${test.trmk-ecloud.template}
diff --git a/providers/trmk-vcloudexpress/pom.xml b/providers/trmk-vcloudexpress/pom.xml
index a2609ae339..df454c230a 100644
--- a/providers/trmk-vcloudexpress/pom.xml
+++ b/providers/trmk-vcloudexpress/pom.xml
@@ -39,7 +39,7 @@
FIXME
FIXME
-
+
org.jclouds.trmk.ecloud*;version="${project.version}"
@@ -114,7 +114,7 @@
${test.trmk-vcloudexpress.build-version}
${test.trmk-vcloudexpress.identity}
${test.trmk-vcloudexpress.credential}
- ${test.trmk-vcloudexpress.image-id}
+ ${test.trmk-vcloudexpress.template}
diff --git a/providers/trystack-nova/pom.xml b/providers/trystack-nova/pom.xml
index b37bdd8af7..ba50265a81 100644
--- a/providers/trystack-nova/pom.xml
+++ b/providers/trystack-nova/pom.xml
@@ -39,10 +39,7 @@
FIXME_IDENTITY
FIXME_CREDENTIAL
-
-
-
-
+
org.jclouds.trystack.nova*;version="${project.version}"
org.jclouds.compute.internal;version="${project.version}",
@@ -122,9 +119,7 @@
${test.trystack-nova.build-version}
${test.trystack-nova.identity}
${test.trystack-nova.credential}
- ${test.trystack-nova.image-id}
- ${test.trystack-nova.image.login-user}
- ${test.trystack-nova.image.authenticate-sudo}
+ ${test.trystack-nova.template}