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 668a835 Revert "Create dedicated hosts (#109)" 668a835 is described below commit 668a835f5fad7e81cf079e72bf58da89765a1841 Author: Jacob Barrett <jbarr...@pivotal.io> AuthorDate: Mon Sep 16 11:39:38 2019 -0700 Revert "Create dedicated hosts (#109)" This reverts commit 2adaf56de71fd4bdceec97c2387eaacb4639e63c. --- 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()