Exemplo n.º 1
0
def create_runner_instance(cloud_provider, region, availability_zone, test_id,
                           duration):
    assert cloud_provider.lower() == "aws", "Only AWS is supported"
    assert len(availability_zone) == 1, f"Invalid AZ: {availability_zone}"
    add_file_logger()
    sct_runner_ip_path = Path("sct_runner_ip")
    sct_runner_ip_path.unlink(missing_ok=True)
    sct_runner = SctRunner(region_name=region)
    instance = sct_runner.create_instance(test_id=test_id,
                                          test_duration=duration,
                                          region_az=region + availability_zone)
    LOGGER.info("Verifying SSH connectivity...")
    remoter = sct_runner.get_remoter(host=instance.public_ip_address)
    result = remoter.run("true",
                         timeout=100,
                         verbose=False,
                         ignore_status=True)
    if result.exit_status == 0:
        LOGGER.info(
            f"Successfully connected the SCT Runner. Public IP:  {instance.public_ip_address}"
        )
        with sct_runner_ip_path.open("w") as sct_runner_ip_file:
            sct_runner_ip_file.write(instance.public_ip_address)
    else:
        LOGGER.error(
            f"Unable to SSH to {instance.public_ip_address}! Exiting...")
        sys.exit(1)
Exemplo n.º 2
0
def create_runner_image(region):
    add_file_logger()
    sct_runner = SctRunner(region_name=region)
    sct_runner.create_image()