From de3cd068777891ec468321c730e0e1ee8d613740 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 26 Jan 2026 16:42:22 -0600 Subject: [PATCH 1/4] PYTHON-5703 Use Ubuntu24 for AWS Auth tests --- .evergreen/generated_configs/variants.yml | 6 +++--- .evergreen/scripts/generate_config.py | 3 ++- .evergreen/scripts/generate_config_utils.py | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 9ddf4d634d..b9276b46a4 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -70,12 +70,12 @@ buildvariants: tags: [pr] # Aws auth tests - - name: auth-aws-rhel8 + - name: auth-aws-ubuntu-24 tasks: - name: .auth-aws - display_name: Auth AWS RHEL8 + display_name: Auth AWS Ubuntu-24 run_on: - - rhel87-small + - ubuntu2404-small tags: [] - name: auth-aws-win64 tasks: diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 7d25e6c861..5d8a281440 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -481,7 +481,8 @@ def create_perf_variants(): def create_aws_auth_variants(): variants = [] - for host_name in ["rhel8", "win64", "macos"]: + # ECS tests must be run on Ubuntu 24 to match the fargate environment. + for host_name in ["ubuntu24", "win64", "macos"]: expansions = dict() tasks = [".auth-aws"] tags = [] diff --git a/.evergreen/scripts/generate_config_utils.py b/.evergreen/scripts/generate_config_utils.py index b876d8a789..ee5da4bcd6 100644 --- a/.evergreen/scripts/generate_config_utils.py +++ b/.evergreen/scripts/generate_config_utils.py @@ -64,6 +64,7 @@ class Host: HOSTS["macos"] = Host("macos", "macos-14", "macOS", dict()) HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS Arm64", dict()) HOSTS["ubuntu22"] = Host("ubuntu22", "ubuntu2204-small", "Ubuntu-22", dict()) +HOSTS["ubuntu24"] = Host("ubuntu24", "ubuntu2404-small", "Ubuntu-24", dict()) HOSTS["perf"] = Host("perf", "rhel90-dbx-perf-large", "", dict()) HOSTS["debian11"] = Host("debian11", "debian11-small", "Debian11", dict()) DEFAULT_HOST = HOSTS["rhel8"] From 22f8ba58dd69ada5ca40589c2adb4efe4f4364cb Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 26 Jan 2026 17:03:04 -0600 Subject: [PATCH 2/4] move ecs to a separate variant --- .evergreen/generated_configs/tasks.yml | 15 +++++++++--- .evergreen/generated_configs/variants.yml | 17 +++++++++---- .evergreen/scripts/generate_config.py | 30 +++++++++++++++++------ 3 files changed, 47 insertions(+), 15 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index f69afcdb9e..bf57a9dbed 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -102,7 +102,7 @@ tasks: AWS_ROLE_SESSION_NAME: test TOOLCHAIN_VERSION: "3.14" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-ecs-python3.10 + - name: test-auth-aws-latest-regular-python3.10-min-deps commands: - func: run server vars: @@ -112,9 +112,18 @@ tasks: - func: run tests vars: TEST_NAME: auth_aws - SUB_TEST_NAME: ecs + SUB_TEST_NAME: regular TOOLCHAIN_VERSION: "3.10" - tags: [auth-aws, auth-aws-ecs] + TEST_MIN_DEPS: "1" + tags: [auth-aws, auth-aws-regular] + - name: test-auth-aws-ecs-regular + commands: + - func: assume ec2 role + - func: run tests + vars: + TEST_NAME: auth_aws + SUB_TEST_NAME: ecs + tags: [auth-aws-ecs] # Backport pr tests - name: backport-pr diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index b9276b46a4..e13dacc782 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -70,27 +70,34 @@ buildvariants: tags: [pr] # Aws auth tests - - name: auth-aws-ubuntu-24 + - name: auth-aws-rhel8 tasks: - name: .auth-aws - display_name: Auth AWS Ubuntu-24 + display_name: Auth AWS RHEL8 run_on: - - ubuntu2404-small + - rhel87-small tags: [] - name: auth-aws-win64 tasks: - - name: .auth-aws !.auth-aws-ecs + - name: .auth-aws display_name: Auth AWS Win64 run_on: - windows-2022-latest-small tags: [] - name: auth-aws-macos tasks: - - name: .auth-aws !.auth-aws-web-identity !.auth-aws-ecs !.auth-aws-ec2 + - name: .auth-aws !.auth-aws-web-identity! .auth-aws-ec2 display_name: Auth AWS macOS run_on: - macos-14 tags: [pr] + - name: auth-aws-ecs-macos + tasks: + - name: .auth-aws-ecs + display_name: Auth AWS ECS macOS + run_on: + - ubuntu2404-small + tags: [pr] # Aws lambda tests - name: faas-lambda diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 5d8a281440..ac956b53eb 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -481,16 +481,15 @@ def create_perf_variants(): def create_aws_auth_variants(): variants = [] - # ECS tests must be run on Ubuntu 24 to match the fargate environment. - for host_name in ["ubuntu24", "win64", "macos"]: + for host_name in ["rhel8", "win64", "macos"]: expansions = dict() tasks = [".auth-aws"] tags = [] if host_name == "macos": - tasks = [".auth-aws !.auth-aws-web-identity !.auth-aws-ecs !.auth-aws-ec2"] + tasks = [".auth-aws !.auth-aws-web-identity! .auth-aws-ec2"] tags = ["pr"] elif host_name == "win64": - tasks = [".auth-aws !.auth-aws-ecs"] + tasks = [".auth-aws"] host = HOSTS[host_name] variant = create_variant( tasks, @@ -500,6 +499,16 @@ def create_aws_auth_variants(): expansions=expansions, ) variants.append(variant) + + # The ECS test must be run on Ubuntu 24 to match the Fargate Config. + variant = create_variant( + [".auth-aws-ecs"], + get_variant_name("Auth AWS ECS", host), + host=HOSTS["ubuntu24"], + tags=tags, + expansions=expansions, + ) + variants.append(variant) return variants @@ -789,19 +798,18 @@ def create_aws_tasks(): "env-creds", "session-creds", "web-identity", - "ecs", ] + assume_func = FunctionCall(func="assume ec2 role") for version, test_type, python in zip_cycle(get_versions_from("4.4"), aws_test_types, CPYTHONS): base_name = f"test-auth-aws-{version}" base_tags = ["auth-aws"] server_vars = dict(AUTH_AWS="1", VERSION=version) server_func = FunctionCall(func="run server", vars=server_vars) - assume_func = FunctionCall(func="assume ec2 role") tags = [*base_tags, f"auth-aws-{test_type}"] if "t" in python: tags.append("free-threaded") test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, TOOLCHAIN_VERSION=python) - if python == ALL_PYTHONS[0] and test_type != "ecs": + if python == ALL_PYTHONS[0]: test_vars["TEST_MIN_DEPS"] = "1" name = get_task_name(f"{base_name}-{test_type}", **test_vars) test_func = FunctionCall(func="run tests", vars=test_vars) @@ -823,6 +831,14 @@ def create_aws_tasks(): funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + # Add the ECS task. + tags = ["auth-aws-ecs"] + test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME="ecs") + name = get_task_name(f"test-auth-aws-ecs-{test_type}", **test_vars) + test_func = FunctionCall(func="run tests", vars=test_vars) + funcs = [assume_func, test_func] + tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + return tasks From 37e5cd3e66f29f8de079f486105fc616f8dd0b20 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 26 Jan 2026 17:16:14 -0600 Subject: [PATCH 3/4] fix ecs test --- .evergreen/generated_configs/tasks.yml | 5 ++++- .evergreen/scripts/generate_config.py | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index bf57a9dbed..60ee6ed135 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -116,9 +116,12 @@ tasks: TOOLCHAIN_VERSION: "3.10" TEST_MIN_DEPS: "1" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-ecs-regular + - name: test-auth-aws-ecs commands: - func: assume ec2 role + - func: run server + vars: + VERSION: "8.0" - func: run tests vars: TEST_NAME: auth_aws diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index ac956b53eb..d758d764c3 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -831,12 +831,14 @@ def create_aws_tasks(): funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) - # Add the ECS task. + # Add the ECS task. This will run on Ubuntu 24 to match the + # Fargate environment. tags = ["auth-aws-ecs"] test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME="ecs") - name = get_task_name(f"test-auth-aws-ecs-{test_type}", **test_vars) + name = get_task_name("test-auth-aws-ecs", **test_vars) test_func = FunctionCall(func="run tests", vars=test_vars) - funcs = [assume_func, test_func] + server_func = FunctionCall(func="run server", vars=dict(VERSION="8.0")) + funcs = [assume_func, server_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) return tasks From 4d619297364187355a658f2651af1269259aea79 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 27 Jan 2026 09:38:38 -0600 Subject: [PATCH 4/4] fix macos task list --- .evergreen/generated_configs/variants.yml | 2 +- .evergreen/scripts/generate_config.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index e13dacc782..e4890af2b1 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -86,7 +86,7 @@ buildvariants: tags: [] - name: auth-aws-macos tasks: - - name: .auth-aws !.auth-aws-web-identity! .auth-aws-ec2 + - name: .auth-aws !.auth-aws-web-identity !.auth-aws-ec2 display_name: Auth AWS macOS run_on: - macos-14 diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index d758d764c3..984db0d039 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -486,7 +486,7 @@ def create_aws_auth_variants(): tasks = [".auth-aws"] tags = [] if host_name == "macos": - tasks = [".auth-aws !.auth-aws-web-identity! .auth-aws-ec2"] + tasks = [".auth-aws !.auth-aws-web-identity !.auth-aws-ec2"] tags = ["pr"] elif host_name == "win64": tasks = [".auth-aws"]