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 <[email protected]>
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()