diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 2ff9e1dede..476ca07807 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -16,7 +16,7 @@ x.x.x * Add support for ap-east-1 region (Hong Kong) * Add possibility to specify instance type to use when building custom AMIs with ``pcluster createami`` -* Speed up cluster creation by having compute nodes starting together with master node +* Speed up cluster creation by having compute nodes starting together with master node. **Note** this requires one new IAM permissions in the `ParallelClusterInstancePolicy `_, ``cloudformation:DescribeStackResource`` * Enable ASG CloudWatch metrics for the ASG managing compute nodes. **Note** this requires two new IAM permissions in the `ParallelClusterUserPolicy `_, ``autoscaling:DisableMetricsCollection`` and ``autoscaling:EnableMetricsCollection`` * Install Intel MPI 2019u4 on Amazon Linux, Centos 7 and Ubuntu 1604 * Upgrade Elastic Fabric Adapter (EFA) to version 1.4.1 that supports Intel MPI diff --git a/tests/integration-tests/test_runner.py b/tests/integration-tests/test_runner.py index b0c668ce64..8d3cd4053a 100644 --- a/tests/integration-tests/test_runner.py +++ b/tests/integration-tests/test_runner.py @@ -352,6 +352,17 @@ def _run_parallel(args): job.join() +def _check_args(args): + # If --cluster is set only one os, scheduler, instance type and region can be provided + if args.cluster: + if len(args.oss) > 1 or len(args.schedulers) > 1 or len(args.instances) > 1 or len(args.regions) > 1: + logger.error( + "when cluster option is specified, you can have a single value for oss, regions, instances " + "and schedulers and you need to make sure they match the cluster specific ones" + ) + exit(1) + + def _run_sequential(args): # Redirect stdout to file if not args.show_output: @@ -369,6 +380,7 @@ def main(): exit(1) args = _init_argparser().parse_args() + _check_args(args) logger.info("Starting tests with parameters {0}".format(args)) _make_logging_dirs(args.output_dir) diff --git a/tests/integration-tests/tests/networking/test_networking.py b/tests/integration-tests/tests/networking/test_networking.py index 3120f972b5..8e2b17cb3f 100644 --- a/tests/integration-tests/tests/networking/test_networking.py +++ b/tests/integration-tests/tests/networking/test_networking.py @@ -50,6 +50,7 @@ def vpc_stack(vpc_stacks, region): return vpc_stacks[region] +@pytest.mark.regions(["eu-central-1", "us-gov-east-1", "cn-northwest-1"]) def test_public_network_topology(region, vpc_stack, networking_stack_factory): ec2_client = boto3.client("ec2", region_name=region) vpc_id = vpc_stack.cfn_outputs["VpcId"] @@ -57,6 +58,9 @@ def test_public_network_topology(region, vpc_stack, networking_stack_factory): availability_zone = AVAILABILITY_ZONE_OVERRIDES.get(region, "") internet_gateway_id = vpc_stack.cfn_resources["InternetGateway"] + if isinstance(availability_zone, list): + availability_zone = availability_zone[0] + parameters = _get_cfn_parameters( availability_zone, internet_gateway_id=internet_gateway_id, vpc_id=vpc_id, public_cidr=public_subnet_cidr ) @@ -72,6 +76,7 @@ def test_public_network_topology(region, vpc_stack, networking_stack_factory): ) +@pytest.mark.regions(["eu-central-1", "us-gov-east-1", "cn-northwest-1"]) def test_public_private_network_topology(region, vpc_stack, networking_stack_factory): ec2_client = boto3.client("ec2", region_name=region) vpc_id = vpc_stack.cfn_outputs["VpcId"] @@ -80,6 +85,9 @@ def test_public_private_network_topology(region, vpc_stack, networking_stack_fac availability_zone = AVAILABILITY_ZONE_OVERRIDES.get(region, "") internet_gateway_id = vpc_stack.cfn_resources["InternetGateway"] + if isinstance(availability_zone, list): + availability_zone = availability_zone[0] + parameters = _get_cfn_parameters( availability_zone, internet_gateway_id=internet_gateway_id,