From d275b4f58fdd80643a4ee3e0c78572ea58497f5c Mon Sep 17 00:00:00 2001 From: Minh Doan Date: Fri, 6 Jul 2018 15:47:11 -0700 Subject: [PATCH] change logic of create_instances.py --- aws-experiment-launch/create_instances.py | 28 ++++++++++++++--------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/aws-experiment-launch/create_instances.py b/aws-experiment-launch/create_instances.py index 58d5cc4f1..4b014e6d9 100644 --- a/aws-experiment-launch/create_instances.py +++ b/aws-experiment-launch/create_instances.py @@ -38,11 +38,12 @@ def run_one_region_instances(config, region_number, number_of_instances, instanc ec2_client = session.client('ec2') if instance_resource == InstanceResource.ON_DEMAND: - return create_instances( + node_name_tag = create_instances( config, ec2_client, region_number, int(number_of_instances)) print("Created %s in region %s" % (node_name_tag, region_number)) + return node_name_tag else: - return False + return None def create_instances(config, ec2_client, region_number, number_of_instances): @@ -85,10 +86,10 @@ def create_instances(config, ec2_client, region_number, number_of_instances): ip_list = utils.collect_public_ips_from_ec2_client(ec2_client, node_name_tag) if len(ip_list) == number_of_instances: print("Created %d instances" % number_of_instances) - return True + return node_name_tag count = count + 1 print("Can not create %d instances" % number_of_instances) - return False + return None if __name__ == "__main__": parser = argparse.ArgumentParser( @@ -99,16 +100,21 @@ if __name__ == "__main__": default='1', help='number of instances') parser.add_argument('--configuration', type=str, dest='config', default='configuration.txt') + parser.add_argument('--instance_output', type=str, + dest='instance_output', default='instance_output.txt') args = parser.parse_args() config = utils.read_region_config(args.config) region_list = args.regions.split(',') instances_list = args.numInstances.split(',') assert len(region_list) == len(instances_list), "number of regions: %d != number of instances per region: %d" % (len(region_list), len(instances_list)) - for i in range(len(region_list)): - region_number = region_list[i] - number_of_instances = instances_list[i] - if run_one_region_instances(config, region_number, number_of_instances, InstanceResource.ON_DEMAND): - print("Managed to create instances for region %s" % region_number ) - else: - print("Failed to create instances for region %s" % region_number ) + with open(args.instance_output, "w") as fout: + for i in range(len(region_list)): + region_number = region_list[i] + number_of_instances = instances_list[i] + node_name_tag = run_one_region_instances(config, region_number, number_of_instances, InstanceResource.ON_DEMAND) + if node_name_tag: + print("Managed to create instances for region %s" % region_number ) + fout.write("%s %s\n" % (node_name_tag, region_number)) + else: + print("Failed to create instances for region %s" % region_number )