You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2018/08/23 18:25:16 UTC

[1/2] jclouds git commit: JCLOUDS-1443: fix(rest/processor): check if `/` is ending a default endpoint

Repository: jclouds
Updated Branches:
  refs/heads/master cf6723376 -> 88f44a6d8


JCLOUDS-1443: fix(rest/processor): check if `/` is ending a default endpoint


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/bcc6a264
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/bcc6a264
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/bcc6a264

Branch: refs/heads/master
Commit: bcc6a2648834335d711cee7cb219e4ad7552979b
Parents: cf67233
Author: Mathieu Tortuyaux <ma...@optelgroup.com>
Authored: Mon Aug 20 14:55:47 2018 -0400
Committer: Ignasi Barrera <na...@apache.org>
Committed: Thu Aug 23 20:24:38 2018 +0200

----------------------------------------------------------------------
 .../org/jclouds/rest/internal/RestAnnotationProcessor.java    | 4 +++-
 .../jclouds/rest/internal/RestAnnotationProcessorTest.java    | 7 +++++++
 2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/bcc6a264/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java b/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java
index 8fdbb43..352e032 100644
--- a/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java
+++ b/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java
@@ -573,7 +573,9 @@ public class RestAnnotationProcessor implements Function<Invocation, HttpRequest
          return null;
       if (original.getHost() != null)
          return original;
-      return withHost.resolve(original);
+      String host = withHost.toString();
+      URI baseURI = host.endsWith("/") ? withHost : URI.create(host + "/");
+      return baseURI.resolve(original);
    }
 
    private org.jclouds.rest.MapBinder getMapPayloadBinderOrNull(Invocation invocation) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/bcc6a264/core/src/test/java/org/jclouds/rest/internal/RestAnnotationProcessorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/rest/internal/RestAnnotationProcessorTest.java b/core/src/test/java/org/jclouds/rest/internal/RestAnnotationProcessorTest.java
index 73355ad..e2d7eb2 100644
--- a/core/src/test/java/org/jclouds/rest/internal/RestAnnotationProcessorTest.java
+++ b/core/src/test/java/org/jclouds/rest/internal/RestAnnotationProcessorTest.java
@@ -2679,6 +2679,13 @@ public class RestAnnotationProcessorTest extends BaseRestApiTest {
       assertEquals(new URI("http://foo/bar"), result);
    }
 
+   @Test
+   public void testComplexHost() throws Exception {
+      URI result = RestAnnotationProcessor.addHostIfMissing(new URI("bar"), new URI("http://foo/foobar"));
+      assertEquals(new URI("http://foo/foobar/bar"), result);
+   }
+
+
    DateService dateService = new SimpleDateFormatDateService();
    RestAnnotationProcessor processor;
    TransformerForRequest transformer;


[2/2] jclouds git commit: JCLOUDS-1339: Support launching an x1 EC2 instance

Posted by na...@apache.org.
JCLOUDS-1339: Support launching an x1 EC2 instance

https://issues.apache.org/jira/browse/JCLOUDS-1339


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/88f44a6d
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/88f44a6d
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/88f44a6d

Branch: refs/heads/master
Commit: 88f44a6d8edc92e76bfe1a5fd0a00bdde6b16148
Parents: bcc6a26
Author: Markus Alexander Kuppe <tl...@lemmster.de>
Authored: Tue Aug 21 18:31:02 2018 +0000
Committer: Ignasi Barrera <na...@apache.org>
Committed: Thu Aug 23 20:25:05 2018 +0200

----------------------------------------------------------------------
 .../ec2/compute/domain/EC2HardwareBuilder.java  | 38 ++++++++++++++++++++
 .../org/jclouds/ec2/domain/InstanceType.java    | 26 ++++++++++++++
 .../suppliers/AWSEC2HardwareSupplier.java       |  4 +++
 3 files changed, 68 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/88f44a6d/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java
index 7d1a56c..d5adcc2 100644
--- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java
+++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java
@@ -290,6 +290,19 @@ public class EC2HardwareBuilder extends HardwareBuilder {
       virtualizationTypes(VirtualizationType.HVM, VirtualizationType.PARAVIRTUAL);
       return this;
    }
+   
+   private EC2HardwareBuilder x1() {
+	      virtualizationTypes(VirtualizationType.HVM);
+	      
+	      // TODO X1 is not deprecated, but it requires that you are using a VPC
+	      // until we have a way for hardware instances to be filtered based on network
+	      // we do NOT want X1 selected automatically.
+	      // You get: org.jclouds.aws.AWSResponseException: request POST https://ec2.eu-west-1.amazonaws.com/ HTTP/1.1 failed with code 400, error: AWSError{requestId='2300b99e-ddc0-42ab-b1ed-9d628a161be4', requestToken='null', code='VPCResourceNotSpecified', message='The specified instance type can only be used in a VPC. A subnet ID or network interface ID is required to carry out the request.', context='{Response=, Errors=}'}
+	      // A user can explicitly request a x1 if they are also setting up a VPC.
+	      deprecated();
+	      
+	      return this;
+   }
 
    // TODO below this line are previous generation, discouraged
    // http://aws.amazon.com/ec2/previous-generation/
@@ -1211,6 +1224,31 @@ public class EC2HardwareBuilder extends HardwareBuilder {
             .processors(ImmutableList.of(new Processor(64.0, 2.3)));
    }
 
+   /**
+    * @see InstanceType#X1_16XLARGE
+    */
+   public static EC2HardwareBuilder x1_16xlarge() {
+      return new EC2HardwareBuilder(InstanceType.X1_16XLARGE).x1()
+            .ram(999424)
+            .volumes(ImmutableList.<Volume> of(
+                    new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(),
+                    new VolumeBuilder().type(LOCAL).size(1920.0f).device("/dev/sdb").bootDevice(false).durable(false).build()))
+            .processors(ImmutableList.of(new Processor(64.0, 2.3)));
+   }
+
+   /**
+    * @see InstanceType#X1_32XLARGE
+    */
+   public static EC2HardwareBuilder x1_32xlarge() {
+      return new EC2HardwareBuilder(InstanceType.X1_32XLARGE).x1()
+            .ram(1998848)
+            .volumes(ImmutableList.<Volume> of(
+                    new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(),
+                    new VolumeBuilder().type(LOCAL).size(1920.0f).device("/dev/sdb").bootDevice(false).durable(false).build(),
+                    new VolumeBuilder().type(LOCAL).size(1920.0f).device("/dev/sdc").bootDevice(false).durable(false).build()))
+            .processors(ImmutableList.of(new Processor(128.0, 2.3)));
+   }
+   
    @SuppressWarnings("unchecked")
    @Override
    public Hardware build() {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/88f44a6d/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java b/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java
index 617cc39..2faf2a4 100644
--- a/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java
+++ b/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java
@@ -842,4 +842,30 @@ public class InstanceType {
     * </ul>
     */
    public static final String R4_16XLARGE = "r4.16xlarge";
+   
+   /**
+    * X1 16x Large-scale, enterprise-class and in-memory applications
+    * <ul>
+    * <li>976 GB memory</li>
+    * <li>64 vCPU</li>
+    * <li>Intel Xeon E7-8880 v3 (Haswell) processors</li>
+    * <li>1 SSD-based volume with 1920 GiB of instance storage</li>
+    * <li>64-bit platform</li>
+    * <li>Network Performance: 25 Gigabit</li>
+    * </ul>
+    */
+   public static final String X1_16XLARGE = "x1.16xlarge";
+   
+   /**
+    * X1 32x Large-scale, enterprise-class and in-memory applications
+    * <ul>
+    * <li>1952 GB memory</li>
+    * <li>128 vCPU</li>
+    * <li>Intel Xeon E7-8880 v3 (Haswell) processors</li>
+    * <li>2 SSD-based volume with 1920 GiB of instance storage</li>
+    * <li>64-bit platform</li>
+    * <li>Network Performance: 25 Gigabit</li>
+    * </ul>
+    */
+   public static final String X1_32XLARGE = "x1.32xlarge";
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/88f44a6d/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java
index c3074cd..cd334fc 100644
--- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java
+++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java
@@ -86,6 +86,8 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_large;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_medium;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_micro;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_small;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.x1_16xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.x1_32xlarge;
 
 import java.util.Set;
 
@@ -183,6 +185,8 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
       sizes.add(d2_2xlarge().build());
       sizes.add(d2_4xlarge().build());
       sizes.add(d2_8xlarge().build());
+      sizes.add(x1_32xlarge().build());
+      sizes.add(x1_16xlarge().build());
 
       return sizes.build();
    }