Fix DigitalOcean DropletApiLiveTest
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/a0f659fa Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/a0f659fa Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/a0f659fa Branch: refs/heads/master Commit: a0f659faedaeec05000effc99a4bb655b0cec0d1 Parents: 6f7e4b9 Author: Ignasi Barrera <[email protected]> Authored: Tue Nov 28 11:58:51 2017 +0100 Committer: Ignasi Barrera <[email protected]> Committed: Thu Nov 30 09:05:28 2017 +0100 ---------------------------------------------------------------------- providers/digitalocean2/pom.xml | 2 +- .../jclouds/digitalocean2/DigitalOcean2ApiMetadata.java | 2 +- .../main/java/org/jclouds/digitalocean2/domain/Image.java | 10 +++++++--- .../compute/DigitalOcean2TemplateBuilderLiveTest.java | 2 +- .../compute/functions/DropletToNodeMetadataTest.java | 4 ++-- .../compute/functions/ImageInRegionToImageTest.java | 2 +- .../digitalocean2/features/DropletApiLiveTest.java | 2 +- .../internal/BaseDigitalOcean2ApiLiveTest.java | 4 ++-- 8 files changed, 16 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/pom.xml ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/pom.xml b/providers/digitalocean2/pom.xml index fc81952..1a8e495 100644 --- a/providers/digitalocean2/pom.xml +++ b/providers/digitalocean2/pom.xml @@ -38,7 +38,7 @@ <test.digitalocean2.api-version>2</test.digitalocean2.api-version> <test.digitalocean2.identity>FIXME</test.digitalocean2.identity> <test.digitalocean2.credential>FIXME</test.digitalocean2.credential> - <test.digitalocean2.template>osFamily=UBUNTU,os64Bit=true,osVersionMatches=14.*</test.digitalocean2.template> + <test.digitalocean2.template>osFamily=UBUNTU,os64Bit=true,osVersionMatches=16.*</test.digitalocean2.template> <jclouds.osgi.export>org.jclouds.digitalocean2*;version="${project.version}"</jclouds.osgi.export> <jclouds.osgi.import> org.jclouds.compute.internal;version="${project.version}", http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/DigitalOcean2ApiMetadata.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/DigitalOcean2ApiMetadata.java b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/DigitalOcean2ApiMetadata.java index 9aedaaa..4630b52 100644 --- a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/DigitalOcean2ApiMetadata.java +++ b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/DigitalOcean2ApiMetadata.java @@ -68,7 +68,7 @@ public class DigitalOcean2ApiMetadata extends BaseHttpApiMetadata<DigitalOcean2A properties.put(AUDIENCE, "https://cloud.digitalocean.com/v1/oauth/token"); properties.put(CREDENTIAL_TYPE, BEARER_TOKEN_CREDENTIALS.toString()); properties.put(PROPERTY_SESSION_INTERVAL, 3600); - properties.put(TEMPLATE, "osFamily=UBUNTU,os64Bit=true,osVersionMatches=14.*"); + properties.put(TEMPLATE, "osFamily=UBUNTU,os64Bit=true,osVersionMatches=16.*"); properties.put(POLL_INITIAL_PERIOD, 5000); properties.put(POLL_MAX_PERIOD, 20000); // Node operations in DigitalOcean can be quite slow. Use a 5 minutes http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/domain/Image.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/domain/Image.java b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/domain/Image.java index dd2c3b6..47bba71 100644 --- a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/domain/Image.java +++ b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/domain/Image.java @@ -37,11 +37,15 @@ public abstract class Image { public abstract boolean isPublic(); public abstract List<String> regions(); public abstract Date createdAt(); + public abstract float minDiskSize(); + public abstract float sizeGBs(); - @SerializedNames({ "id", "name", "type", "distribution", "slug", "public", "regions", "created_at" }) + @SerializedNames({ "id", "name", "type", "distribution", "slug", "public", "regions", "created_at", "min_disk_size", + "size_gigabytes" }) public static Image create(int id, String name, String type, String distribution, String slug, boolean isPublic, - List<String> regions, Date createdAt) { - return new AutoValue_Image(id, name, type, distribution, slug, isPublic, copyOf(regions), createdAt); + List<String> regions, Date createdAt, float minDiskSize, float sizeGBs) { + return new AutoValue_Image(id, name, type, distribution, slug, isPublic, copyOf(regions), createdAt, minDiskSize, + sizeGBs); } Image() {} http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/DigitalOcean2TemplateBuilderLiveTest.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/DigitalOcean2TemplateBuilderLiveTest.java b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/DigitalOcean2TemplateBuilderLiveTest.java index 698483a..b7738c0 100644 --- a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/DigitalOcean2TemplateBuilderLiveTest.java +++ b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/DigitalOcean2TemplateBuilderLiveTest.java @@ -40,7 +40,7 @@ public class DigitalOcean2TemplateBuilderLiveTest extends BaseTemplateBuilderLiv @Override public void testDefaultTemplateBuilder() throws IOException { Template defaultTemplate = view.getComputeService().templateBuilder().build(); - assert defaultTemplate.getImage().getOperatingSystem().getVersion().startsWith("14.") : defaultTemplate + assert defaultTemplate.getImage().getOperatingSystem().getVersion().startsWith("16.") : defaultTemplate .getImage().getOperatingSystem().getVersion(); assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/DropletToNodeMetadataTest.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/DropletToNodeMetadataTest.java b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/DropletToNodeMetadataTest.java index ba6d3de..93f4bf4 100644 --- a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/DropletToNodeMetadataTest.java +++ b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/DropletToNodeMetadataTest.java @@ -79,7 +79,7 @@ public class DropletToNodeMetadataTest { @BeforeMethod public void setup() { image = org.jclouds.digitalocean2.domain.Image.create(1, "14.04 x64", - "distribution", "Ubuntu", "ubuntu-1404-x86", true, ImmutableList.of("sfo1"), new Date()); + "distribution", "Ubuntu", "ubuntu-1404-x86", true, ImmutableList.of("sfo1"), new Date(), 20, 20); region = Region.create("sfo1", "San Francisco 1", ImmutableList.of("2gb"), true, ImmutableList.<String> of()); images = ImmutableSet.of(new ImageBuilder() @@ -146,7 +146,7 @@ public class DropletToNodeMetadataTest { public void testConvertDropletOldImage() throws ParseException { // Use an image id that is not in the list of images org.jclouds.digitalocean2.domain.Image image = org.jclouds.digitalocean2.domain.Image.create(2, "14.04 x64", - "distribution", "Ubuntu", "ubuntu2-1404-x86", true, ImmutableList.of("sfo1"), new Date()); + "distribution", "Ubuntu", "ubuntu2-1404-x86", true, ImmutableList.of("sfo1"), new Date(), 20, 20); Droplet droplet = Droplet.create( 1, http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/ImageInRegionToImageTest.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/ImageInRegionToImageTest.java b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/ImageInRegionToImageTest.java index f1072d6..38b4662 100644 --- a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/ImageInRegionToImageTest.java +++ b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/compute/functions/ImageInRegionToImageTest.java @@ -75,7 +75,7 @@ public class ImageInRegionToImageTest { @Test public void testConvertImage() { Image image = Image.create(1, "14.04 x64", "distribution", "Ubuntu", "ubuntu-1404-x86", true, - ImmutableList.of("sfo1", "lon1"), new Date()); + ImmutableList.of("sfo1", "lon1"), new Date(), 20, 20); org.jclouds.compute.domain.Image expected = new ImageBuilder() .id("lon1/ubuntu-1404-x86") // Location scoped images have the location encoded in the id .providerId("1") http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/features/DropletApiLiveTest.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/features/DropletApiLiveTest.java b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/features/DropletApiLiveTest.java index f18a24f..62f40f4 100644 --- a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/features/DropletApiLiveTest.java +++ b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/features/DropletApiLiveTest.java @@ -57,8 +57,8 @@ public class DropletApiLiveTest extends BaseDigitalOcean2ApiLiveTest { @BeforeClass public void setupDroplet() { region = firstAvailableRegion(); - size = cheapestSizeInRegion(region); image = ubuntuImageInRegion(region); + size = cheapestSizeInRegionForImage(region, image); Map<String, String> keyPair = SshKeys.generate(); key = api.keyApi().create(prefix + "-droplet-livetest", keyPair.get("public")); http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f659fa/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/internal/BaseDigitalOcean2ApiLiveTest.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/internal/BaseDigitalOcean2ApiLiveTest.java b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/internal/BaseDigitalOcean2ApiLiveTest.java index 722ef97..4b7b0ec 100644 --- a/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/internal/BaseDigitalOcean2ApiLiveTest.java +++ b/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/internal/BaseDigitalOcean2ApiLiveTest.java @@ -104,11 +104,11 @@ public class BaseDigitalOcean2ApiLiveTest extends BaseApiLiveTest<DigitalOcean2A }).get(); } - protected Size cheapestSizeInRegion(final Region region) { + protected Size cheapestSizeInRegionForImage(final Region region, final Image image) { return sizesByPrice().min(api.sizeApi().list().concat().filter(new Predicate<Size>() { @Override public boolean apply(Size input) { - return input.available() && input.regions().contains(region.slug()); + return input.available() && input.regions().contains(region.slug()) && input.disk() >= image.minDiskSize(); } })); }
