This is an automated email from the ASF dual-hosted git repository.

jbarrett pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git


The following commit(s) were added to refs/heads/develop by this push:
     new af66beb  Revert "Create dedicated hosts (#109)"
af66beb is described below

commit af66beb61e0c3ec4ba95bf0eb4d9f8f7bb890d17
Author: Jacob Barrett <jbarr...@pivotal.io>
AuthorDate: Tue Sep 17 20:16:03 2019 -0700

    Revert "Create dedicated hosts (#109)"
    
    This reverts commit 410f23a16886a3fb33fd5eb5cedc9620e092dcba.
---
 infrastructure/scripts/aws/run_tests.sh            |  2 +-
 .../geode/infrastructure/aws/DestroyCluster.java   | 20 -------
 .../geode/infrastructure/aws/LaunchCluster.java    | 61 ++++++++--------------
 3 files changed, 23 insertions(+), 60 deletions(-)

diff --git a/infrastructure/scripts/aws/run_tests.sh 
b/infrastructure/scripts/aws/run_tests.sh
index 4fea8bd..3dd4d0d 100755
--- a/infrastructure/scripts/aws/run_tests.sh
+++ b/infrastructure/scripts/aws/run_tests.sh
@@ -144,7 +144,7 @@ REPO=$(fixRepoName ${REPO})
 SSH_OPTIONS="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i 
~/.geode-benchmarks/${TAG}-privkey.pem"
 HOSTS=`aws ec2 describe-instances --query 
'Reservations[*].Instances[*].PrivateIpAddress' --filter 
"Name=tag:geode-benchmarks,Values=${TAG}" --output text`
 HOSTS=$(echo ${HOSTS} | tr ' ' ',')
-FIRST_INSTANCE=`aws ec2 describe-instances --query 
'Reservations[*].Instances[*].PublicIpAddress' --filter 
"Name=tag:geode-benchmarks,Values=${TAG}" --output text | cut -f 1 | head -n 1`
+FIRST_INSTANCE=`aws ec2 describe-instances --query 
'Reservations[*].Instances[*].PublicIpAddress' --filter 
"Name=tag:geode-benchmarks,Values=${TAG}" --output text | cut -f 1`
 
 echo "FIRST_INSTANCE=${FIRST_INSTANCE}"
 echo "HOSTS=${HOSTS}"
diff --git 
a/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/DestroyCluster.java
 
b/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/DestroyCluster.java
index 7156168..1c7b668 100644
--- 
a/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/DestroyCluster.java
+++ 
b/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/DestroyCluster.java
@@ -29,14 +29,10 @@ import 
software.amazon.awssdk.services.ec2.model.DeleteKeyPairRequest;
 import software.amazon.awssdk.services.ec2.model.DeleteLaunchTemplateRequest;
 import software.amazon.awssdk.services.ec2.model.DeletePlacementGroupRequest;
 import software.amazon.awssdk.services.ec2.model.DeleteSecurityGroupRequest;
-import software.amazon.awssdk.services.ec2.model.DescribeHostsRequest;
-import software.amazon.awssdk.services.ec2.model.DescribeHostsResponse;
 import software.amazon.awssdk.services.ec2.model.DescribeInstancesRequest;
 import software.amazon.awssdk.services.ec2.model.DescribeInstancesResponse;
 import software.amazon.awssdk.services.ec2.model.Filter;
-import software.amazon.awssdk.services.ec2.model.Host;
 import software.amazon.awssdk.services.ec2.model.Instance;
-import software.amazon.awssdk.services.ec2.model.ReleaseHostsRequest;
 import software.amazon.awssdk.services.ec2.model.TerminateInstancesRequest;
 
 import org.apache.geode.infrastructure.BenchmarkMetadata;
@@ -55,7 +51,6 @@ public class DestroyCluster {
     }
 
     deleteInstances(benchmarkTag);
-    releaseHosts(benchmarkTag);
     deleteLaunchTemplate(benchmarkTag);
     deleteSecurityGroup(benchmarkTag);
     deletePlacementGroup(benchmarkTag);
@@ -63,21 +58,6 @@ public class DestroyCluster {
     deleteMetadata(benchmarkTag);
   }
 
-  private static void releaseHosts(String benchmarkTag) {
-    DescribeHostsResponse hosts = 
ec2.describeHosts(DescribeHostsRequest.builder()
-        .filter(Filter.builder()
-            .name("tag:" + BenchmarkMetadata.PREFIX)
-            .values(benchmarkTag)
-            .build())
-        .build());
-
-    List<String> hostIds = 
hosts.hosts().stream().map(Host::hostId).collect(Collectors.toList());
-
-    ec2.releaseHosts(ReleaseHostsRequest.builder().hostIds(hostIds).build());
-
-    System.out.println("Hosts for cluster '" + benchmarkTag + "' released.");
-  }
-
   private static void deleteKeyPair(String benchmarkTag) {
     try {
       System.out.println("Deleting cluster keypair: " + 
AwsBenchmarkMetadata.keyPair(benchmarkTag));
diff --git 
a/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/LaunchCluster.java
 
b/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/LaunchCluster.java
index 879178d..339fbd0 100644
--- 
a/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/LaunchCluster.java
+++ 
b/infrastructure/src/main/java/org/apache/geode/infrastructure/aws/LaunchCluster.java
@@ -35,8 +35,6 @@ import java.util.stream.Collectors;
 import org.json.JSONArray;
 import org.json.JSONObject;
 import software.amazon.awssdk.services.ec2.Ec2Client;
-import software.amazon.awssdk.services.ec2.model.AllocateHostsRequest;
-import software.amazon.awssdk.services.ec2.model.AllocateHostsResponse;
 import 
software.amazon.awssdk.services.ec2.model.AuthorizeSecurityGroupIngressRequest;
 import software.amazon.awssdk.services.ec2.model.CreateKeyPairRequest;
 import software.amazon.awssdk.services.ec2.model.CreateKeyPairResponse;
@@ -57,15 +55,14 @@ import software.amazon.awssdk.services.ec2.model.Image;
 import software.amazon.awssdk.services.ec2.model.Instance;
 import 
software.amazon.awssdk.services.ec2.model.LaunchTemplateBlockDeviceMappingRequest;
 import 
software.amazon.awssdk.services.ec2.model.LaunchTemplateEbsBlockDeviceRequest;
+import 
software.amazon.awssdk.services.ec2.model.LaunchTemplatePlacementRequest;
 import software.amazon.awssdk.services.ec2.model.LaunchTemplateSpecification;
-import software.amazon.awssdk.services.ec2.model.Placement;
 import software.amazon.awssdk.services.ec2.model.RequestLaunchTemplateData;
 import software.amazon.awssdk.services.ec2.model.ResourceType;
 import software.amazon.awssdk.services.ec2.model.RunInstancesRequest;
 import software.amazon.awssdk.services.ec2.model.RunInstancesResponse;
 import software.amazon.awssdk.services.ec2.model.Tag;
 import software.amazon.awssdk.services.ec2.model.TagSpecification;
-import software.amazon.awssdk.services.ec2.model.Tenancy;
 import software.amazon.awssdk.services.ec2.model.VolumeType;
 
 import org.apache.geode.infrastructure.BenchmarkMetadata;
@@ -96,8 +93,7 @@ public class LaunchCluster {
     authorizeSecurityGroup(benchmarkTag);
     createLaunchTemplate(benchmarkTag, newestImage);
 
-    List<String> hostIds = allocateHosts(tags, count);
-    List<String> instanceIds = launchInstances(benchmarkTag, tags, count, 
hostIds);
+    List<String> instanceIds = launchInstances(benchmarkTag, tags, count);
     DescribeInstancesResponse instances = waitForInstances(instanceIds);
     List<String> publicIps = getPublicIps(instances);
     createMetadata(benchmarkTag, publicIps);
@@ -117,44 +113,27 @@ public class LaunchCluster {
     throw new IllegalStateException(s);
   }
 
-  private static List<String> allocateHosts(List<Tag> tags, int count) {
-    AllocateHostsResponse hosts = 
ec2.allocateHosts(AllocateHostsRequest.builder()
-        .availabilityZone("us-west-2a")
-        .instanceType(AwsBenchmarkMetadata.instanceType().toString())
-        .quantity(count)
+  private static List<String> launchInstances(String benchmarkTag, List<Tag> 
tags,
+      int instanceCount)
+      throws InterruptedException {
+    // launch instances
+
+    RunInstancesResponse rir = ec2.runInstances(RunInstancesRequest.builder()
+        .launchTemplate(LaunchTemplateSpecification.builder()
+            
.launchTemplateName(AwsBenchmarkMetadata.launchTemplate(benchmarkTag))
+            .build())
         .tagSpecifications(TagSpecification.builder()
             .tags(tags)
-            .resourceType(ResourceType.DEDICATED_HOST)
+            .resourceType(ResourceType.INSTANCE)
             .build())
+        .minCount(instanceCount)
+        .maxCount(instanceCount)
         .build());
 
-    return hosts.hostIds();
-  }
-
-  private static List<String> launchInstances(String launchTemplate, List<Tag> 
tags,
-      int instanceCount, List<String> hosts)
-      throws InterruptedException {
-    List<String> instanceIds = new ArrayList<>(instanceCount);
-    for (String host : hosts) {
-      // launch instances
-      RunInstancesResponse rir = ec2.runInstances(RunInstancesRequest.builder()
-          .launchTemplate(LaunchTemplateSpecification.builder()
-              
.launchTemplateName(AwsBenchmarkMetadata.launchTemplate(launchTemplate))
-              .build())
-          .placement(Placement.builder()
-              .tenancy(Tenancy.HOST)
-              .hostId(host)
-              .build())
-          .tagSpecifications(TagSpecification.builder()
-              .tags(tags)
-              .resourceType(ResourceType.INSTANCE)
-              .build())
-          .minCount(1)
-          .maxCount(1)
-          .build());
-
-      instanceIds.add(rir.instances().get(0).instanceId());
-    }
+    List<String> instanceIds = rir.instances()
+        .stream()
+        .map(Instance::instanceId)
+        .collect(Collectors.toList());
 
     return instanceIds;
   }
@@ -243,6 +222,10 @@ public class LaunchCluster {
             .launchTemplateData(RequestLaunchTemplateData.builder()
                 .imageId(newestImage.imageId())
                 .instanceType(AwsBenchmarkMetadata.instanceType())
+                .placement(LaunchTemplatePlacementRequest.builder()
+                    
.groupName(AwsBenchmarkMetadata.placementGroup(benchmarkTag))
+                    .tenancy(AwsBenchmarkMetadata.tenancy())
+                    .build())
                 .keyName(AwsBenchmarkMetadata.keyPair(benchmarkTag))
                 .securityGroups(securityGroupList)
                 
.blockDeviceMappings(LaunchTemplateBlockDeviceMappingRequest.builder()

Reply via email to