private static DescribeInstancesResponse waitForInstances()

in infrastructure/src/main/java/org/apache/geode/infrastructure/aws/LaunchCluster.java [222:240]


  private static DescribeInstancesResponse waitForInstances(List<String> instanceIds, int timeout)
      throws InterruptedException {
    System.out.println("Waiting for cluster instances to go fully online.");

    Instant end = Instant.now().plus(Duration.ofSeconds(timeout));
    DescribeInstancesResponse describeInstancesResponse;
    do {
      sleep(AwsBenchmarkMetadata.POLL_INTERVAL);
      System.out.println(
          "Continuing to wait for " + new StringBuilder().append(instanceIds + ", ").toString());
      describeInstancesResponse = describeInstances(instanceIds, "running");
      if (Instant.now().isAfter(end)) {
        throw new InterruptedException(instanceIds.size()
            + " hosts were not running before timeout of " + timeout + " seconds.");
      }
    } while (instanceCount(describeInstancesResponse) < instanceIds.size());

    return describeInstancesResponse;
  }