From f839858c4406fbe373292f2af59c054d1c5a4265 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 29 May 2025 20:34:38 -0500 Subject: [PATCH 01/29] PYTHON-5398 Support for AWS EKS Pod Identity --- .evergreen/generated_configs/tasks.yml | 13 +++++++++++++ .evergreen/generated_configs/variants.yml | 4 ++-- .evergreen/scripts/configure-env.sh | 2 ++ .evergreen/scripts/generate_config.py | 7 +++++-- .../run-aws-container-test.sh} | 0 .evergreen/scripts/run_tests.py | 11 +++++++---- .evergreen/scripts/setup_tests.py | 4 ++-- .evergreen/scripts/utils.py | 4 ++-- .gitignore | 2 ++ 9 files changed, 35 insertions(+), 12 deletions(-) rename .evergreen/{run-mongodb-aws-ecs-test.sh => scripts/run-aws-container-test.sh} (100%) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 8bc758890a..9a0b626563 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -114,6 +114,19 @@ tasks: SUB_TEST_NAME: ecs PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-ecs] + - name: test-auth-aws-4.4-eks-python3.11 + commands: + - func: run server + vars: + AUTH_AWS: "1" + VERSION: "4.4" + - func: assume ec2 role + - func: run tests + vars: + TEST_NAME: auth_aws + SUB_TEST_NAME: eks + PYTHON_VERSION: "3.11" + tags: [auth-aws, auth-aws-eks] # Backport pr tests - name: backport-pr diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 673bb111cd..67a84a6cb8 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -98,14 +98,14 @@ buildvariants: tags: [] - name: auth-aws-win64 tasks: - - name: .auth-aws !.auth-aws-ecs + - name: .auth-aws !.auth-aws-ecs !.auth-aws-eks display_name: Auth AWS Win64 run_on: - windows-64-vsMulti-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-ecs !.auth-aws-ec2 !.auth-aws-eks display_name: Auth AWS macOS run_on: - macos-14 diff --git a/.evergreen/scripts/configure-env.sh b/.evergreen/scripts/configure-env.sh index 8dc328aab3..82f3a9a4f4 100755 --- a/.evergreen/scripts/configure-env.sh +++ b/.evergreen/scripts/configure-env.sh @@ -76,6 +76,8 @@ EOT rm -rf $DRIVERS_TOOLS BRANCH=master ORG=mongodb-labs +BRANCH=DRIVERS-2945 +ORG=blink1073 git clone --branch $BRANCH https://github.com/$ORG/drivers-evergreen-tools.git $DRIVERS_TOOLS cat < ${DRIVERS_TOOLS}/.env diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 9f42fb0a4b..4b90c193d1 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -488,10 +488,12 @@ def create_aws_auth_variants(): 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-ecs !.auth-aws-ec2 !.auth-aws-eks" + ] tags = ["pr"] elif host_name == "win64": - tasks = [".auth-aws !.auth-aws-ecs"] + tasks = [".auth-aws !.auth-aws-ecs !.auth-aws-eks"] host = HOSTS[host_name] variant = create_variant( tasks, @@ -742,6 +744,7 @@ def create_aws_tasks(): "session-creds", "web-identity", "ecs", + "eks", ] for version, test_type, python in zip_cycle(get_versions_from("4.4"), aws_test_types, CPYTHONS): base_name = f"test-auth-aws-{version}" diff --git a/.evergreen/run-mongodb-aws-ecs-test.sh b/.evergreen/scripts/run-aws-container-test.sh similarity index 100% rename from .evergreen/run-mongodb-aws-ecs-test.sh rename to .evergreen/scripts/run-aws-container-test.sh diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index 5c1ba25a97..d2d5e25ca7 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -11,7 +11,7 @@ from shutil import which import pytest -from utils import DRIVERS_TOOLS, LOGGER, ROOT, run_command +from utils import DRIVERS_TOOLS, HERE, LOGGER, ROOT, run_command AUTH = os.environ.get("AUTH", "noauth") SSL = os.environ.get("SSL", "nossl") @@ -159,9 +159,12 @@ def run() -> None: result = main("-E -b doctest doc ./doc/_build/doctest".split()) sys.exit(result) - # Send ecs tests to run remotely. - if TEST_NAME == "auth_aws" and SUB_TEST_NAME == "ecs": - run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh ecs") + # Send ecs and eks tests to run remotely. + if TEST_NAME == "auth_aws" and SUB_TEST_NAME in ["ecs", "eks"]: + target = f"run-mongodb-aws-{SUB_TEST_NAME}-test.sh" + text = (HERE / "run-aws-container-test.sh").read_text() + (HERE.parent / target).write_text(text) + run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh {SUB_TEST_NAME}") return # Send OIDC tests to run remotely. diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 98c382ff60..c73a792ec7 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -415,11 +415,11 @@ def handle_test_env() -> None: setup_kms(sub_test_name) - if test_name == "auth_aws" and sub_test_name != "ecs-remote": + if test_name == "auth_aws" and sub_test_name not in ["ecs-remote", "eks-remote"]: auth_aws_dir = f"{DRIVERS_TOOLS}/.evergreen/auth_aws" if "AWS_ROLE_SESSION_NAME" in os.environ: write_env("AWS_ROLE_SESSION_NAME") - if sub_test_name != "ecs": + if sub_test_name not in ["ecs", "eks"]: aws_setup = f"{auth_aws_dir}/aws_setup.sh" run_command(f"bash {aws_setup} {sub_test_name}") creds = read_env(f"{auth_aws_dir}/test-env.sh") diff --git a/.evergreen/scripts/utils.py b/.evergreen/scripts/utils.py index 7a8f9640f8..2560a9224c 100644 --- a/.evergreen/scripts/utils.py +++ b/.evergreen/scripts/utils.py @@ -143,8 +143,8 @@ def get_test_options( raise ValueError(f"Test '{test_name}' requires a sub_test_name") if "auth" in test_name or os.environ.get("AUTH") == "auth": opts.auth = True - # 'auth_aws ecs' shouldn't have extra auth set. - if test_name == "auth_aws" and sub_test_name == "ecs": + # auth_aws ecs or eks shouldn't have extra auth set. + if test_name == "auth_aws" and sub_test_name in ["ecs", "eks"]: opts.auth = False if os.environ.get("SSL") == "ssl": opts.ssl = True diff --git a/.gitignore b/.gitignore index a88a7556e2..fa5be270dd 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,8 @@ expansion.yml .evergreen/scripts/test-env.sh specifications/ results.json +.evergreen/run-mongodb-aws-eks-test.sh +.evergreen/run-mongodb-aws-ecs-test.sh # Lambda temp files test/lambda/.aws-sam From f0bd85029486fe9a78107c15889656dff9b12778 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 12:11:30 -0500 Subject: [PATCH 02/29] include aws args for eks tests --- .evergreen/scripts/setup_tests.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index c73a792ec7..8b33580592 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -427,6 +427,11 @@ def handle_test_env() -> None: write_env(name, value) else: run_command(f"bash {auth_aws_dir}/setup-secrets.sh") + if sub_test_name == "eks": + # Store AWS creds if they were given. + for key in ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]: + if key in os.environ: + write_env(key, os.environ[key]) if test_name == "atlas_connect": get_secrets("drivers/atlas_connect") From bf21802928d9d6d9cfcee5326018f9c1d9dc89f7 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 12:26:36 -0500 Subject: [PATCH 03/29] use python 3.10 for eks --- .evergreen/scripts/run_tests.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index d2d5e25ca7..2b0635cfb9 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -163,6 +163,8 @@ def run() -> None: if TEST_NAME == "auth_aws" and SUB_TEST_NAME in ["ecs", "eks"]: target = f"run-mongodb-aws-{SUB_TEST_NAME}-test.sh" text = (HERE / "run-aws-container-test.sh").read_text() + if SUB_TEST_NAME == "eks": + text = text.replace("python3.9", "python3.10") (HERE.parent / target).write_text(text) run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh {SUB_TEST_NAME}") return From 3a3c2901786f65e1f8520ccf074cfea22280a642 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 12:35:57 -0500 Subject: [PATCH 04/29] use python 3.11 --- .evergreen/scripts/run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index 2b0635cfb9..93292bd874 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -164,7 +164,7 @@ def run() -> None: target = f"run-mongodb-aws-{SUB_TEST_NAME}-test.sh" text = (HERE / "run-aws-container-test.sh").read_text() if SUB_TEST_NAME == "eks": - text = text.replace("python3.9", "python3.10") + text = text.replace("python3.9", "python3.11") (HERE.parent / target).write_text(text) run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh {SUB_TEST_NAME}") return From d6b3caf3c4d0d8a9fb9bd8d84986b48ba1c48a46 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 13:26:08 -0500 Subject: [PATCH 05/29] debug --- .evergreen/scripts/run-aws-container-test.sh | 4 +++- .evergreen/scripts/run_tests.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index c55c423e49..d521525761 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -11,9 +11,11 @@ if [[ -z "$1" ]]; then exit 1 fi export MONGODB_URI="$1" +echo "MONGODB_URI=$MONGODB_URI" +exit 1 if echo "$MONGODB_URI" | grep -q "@"; then - echo "MONGODB_URI unexpectedly contains user credentials in ECS test!"; + echo "MONGODB_URI unexpectedly contains user credentials in container test!"; exit 1 fi # Now we can safely enable xtrace diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index 93292bd874..6f5b312422 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -164,7 +164,7 @@ def run() -> None: target = f"run-mongodb-aws-{SUB_TEST_NAME}-test.sh" text = (HERE / "run-aws-container-test.sh").read_text() if SUB_TEST_NAME == "eks": - text = text.replace("python3.9", "python3.11") + text = text.replace("python3.9", "python3.11").replace("ecs", "eks") (HERE.parent / target).write_text(text) run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh {SUB_TEST_NAME}") return From b1a9a65914ec4fcac9f5c0d1a704f9f8faa2cdba Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 13:38:27 -0500 Subject: [PATCH 06/29] remove deub --- .evergreen/scripts/run-aws-container-test.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index d521525761..2e922cf54a 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -11,8 +11,6 @@ if [[ -z "$1" ]]; then exit 1 fi export MONGODB_URI="$1" -echo "MONGODB_URI=$MONGODB_URI" -exit 1 if echo "$MONGODB_URI" | grep -q "@"; then echo "MONGODB_URI unexpectedly contains user credentials in container test!"; From 685bb9c6e9789e8e71754575b2c7da07e96e77d8 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 14:39:11 -0500 Subject: [PATCH 07/29] use ubuntu 22 --- .evergreen/generated_configs/variants.yml | 6 +++--- .evergreen/scripts/generate_config.py | 2 +- .evergreen/scripts/run_tests.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 67a84a6cb8..0bad04d83b 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -89,12 +89,12 @@ buildvariants: tags: [pr] # Aws auth tests - - name: auth-aws-ubuntu-20 + - name: auth-aws-ubuntu-22 tasks: - name: .auth-aws - display_name: Auth AWS Ubuntu-20 + display_name: Auth AWS Ubuntu-22 run_on: - - ubuntu2004-small + - ubuntu2204-small tags: [] - name: auth-aws-win64 tasks: diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 4b90c193d1..e7b8d09db4 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -483,7 +483,7 @@ def create_perf_variants(): def create_aws_auth_variants(): variants = [] - for host_name in ["ubuntu20", "win64", "macos"]: + for host_name in ["ubuntu22", "win64", "macos"]: expansions = dict() tasks = [".auth-aws"] tags = [] diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index 6f5b312422..ad297a8bf4 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -164,7 +164,7 @@ def run() -> None: target = f"run-mongodb-aws-{SUB_TEST_NAME}-test.sh" text = (HERE / "run-aws-container-test.sh").read_text() if SUB_TEST_NAME == "eks": - text = text.replace("python3.9", "python3.11").replace("ecs", "eks") + text = text.replace("ecs", "eks") (HERE.parent / target).write_text(text) run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh {SUB_TEST_NAME}") return From ae6adb7d87aaf90d76f4ed074e53d918452bc388 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 14:39:59 -0500 Subject: [PATCH 08/29] use python 3.11 --- .evergreen/scripts/run-aws-container-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index 2e922cf54a..9922ce206e 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -20,7 +20,7 @@ fi set -o xtrace # Install python with pip. -PYTHON_VER="python3.9" +PYTHON_VER="python3.11" apt-get -qq update < /dev/null > /dev/null apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null From 7591e8c39271d53200edb1f02be8985df29b6113 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 14:44:46 -0500 Subject: [PATCH 09/29] clean up aws tasks --- .evergreen/generated_configs/tasks.yml | 21 ++++++++++++--------- .evergreen/scripts/generate_config.py | 19 +++++++++++++------ 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 9a0b626563..8c37973319 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -101,7 +101,7 @@ tasks: AWS_ROLE_SESSION_NAME: test PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-ecs-python3.10 + - name: test-auth-aws-latest-regular-python3.10 commands: - func: run server vars: @@ -111,22 +111,25 @@ tasks: - func: run tests vars: TEST_NAME: auth_aws - SUB_TEST_NAME: ecs + SUB_TEST_NAME: regular PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-4.4-eks-python3.11 + tags: [auth-aws, auth-aws-regular] + - name: test-auth-aws-eks commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: eks - PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-eks] + - name: test-auth-aws-ecs + commands: + - func: assume ec2 role + - func: run tests + vars: + TEST_NAME: auth_aws + SUB_TEST_NAME: ecs + tags: [auth-aws, auth-aws-ecs] # Backport pr tests - name: backport-pr diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index e7b8d09db4..44235d3a00 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -743,19 +743,18 @@ def create_aws_tasks(): "env-creds", "session-creds", "web-identity", - "ecs", - "eks", ] + base_tags = ["auth-aws"] + 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}"] name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=test_vars) + server_vars = dict(AUTH_AWS="1", VERSION=version) + server_func = FunctionCall(func="run server", vars=server_vars) funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) @@ -772,6 +771,14 @@ def create_aws_tasks(): funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + for test_type in ["eks", "ecs"]: + name = get_task_name(f"test-auth-aws-{test_type}") + tags = [*base_tags, f"auth-aws-{test_type}"] + test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) + 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 3ce2dadb0c5cfa79939075ba9e92cec1a7523470 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:10:07 -0500 Subject: [PATCH 10/29] clean up aws tasks --- .evergreen/generated_configs/tasks.yml | 19 +++------------ .evergreen/generated_configs/variants.yml | 9 +++++++- .evergreen/scripts/generate_config.py | 28 +++++++++-------------- 3 files changed, 22 insertions(+), 34 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 8c37973319..77cf3296a7 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -87,33 +87,20 @@ tasks: SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-rapid-web-identity-session-name-python3.9 + - name: test-auth-aws-latest-web-identity-session-name-python3.10 commands: - func: run server vars: AUTH_AWS: "1" - VERSION: rapid + VERSION: latest - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-regular-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: regular - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-regular] - name: test-auth-aws-eks commands: - func: assume ec2 role diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 0bad04d83b..0d910b95d8 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -89,9 +89,16 @@ buildvariants: tags: [pr] # Aws auth tests + - name: auth-aws-ubuntu-20 + tasks: + - name: .auth-aws !.auth-aws-ecs !.auth-aws-eks + display_name: Auth AWS Ubuntu-20 + run_on: + - ubuntu2004-small + tags: [] - name: auth-aws-ubuntu-22 tasks: - - name: .auth-aws + - name: .auth-aws !.server-4.4 !.server-5.0 display_name: Auth AWS Ubuntu-22 run_on: - ubuntu2204-small diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 44235d3a00..b1b794e114 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -483,17 +483,18 @@ def create_perf_variants(): def create_aws_auth_variants(): variants = [] - for host_name in ["ubuntu22", "win64", "macos"]: + for host_name in ["ubuntu20", "ubuntu22", "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 !.auth-aws-eks" ] tags = ["pr"] - elif host_name == "win64": + elif host_name in ["win64", "ubuntu20"]: tasks = [".auth-aws !.auth-aws-ecs !.auth-aws-eks"] + elif host_name == "ubuntu22": + tasks = [".auth-aws !.server-4.4 !.server-5.0"] host = HOSTS[host_name] variant = create_variant( tasks, @@ -743,34 +744,27 @@ def create_aws_tasks(): "env-creds", "session-creds", "web-identity", + "web-identity-session-name", ] base_tags = ["auth-aws"] 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}" - tags = [*base_tags, f"auth-aws-{test_type}"] name = get_task_name(f"{base_name}-{test_type}", python=python) + orig_test_type = test_type + if test_type == "web-identity-session-name": + test_type = "web-identity" # noqa:PLW2901 + tags = [*base_tags, f"auth-aws-{test_type}"] test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) + if orig_test_type == "web-identity-session-name": + test_vars["AWS_ROLE_SESSION_NAME"] = "test" test_func = FunctionCall(func="run tests", vars=test_vars) server_vars = dict(AUTH_AWS="1", VERSION=version) server_func = FunctionCall(func="run server", vars=server_vars) funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) - if test_type == "web-identity": - tags = [*base_tags, "auth-aws-web-identity"] - name = get_task_name(f"{base_name}-web-identity-session-name", python=python) - test_vars = dict( - TEST_NAME="auth_aws", - SUB_TEST_NAME="web-identity", - AWS_ROLE_SESSION_NAME="test", - PYTHON_VERSION=python, - ) - test_func = FunctionCall(func="run tests", vars=test_vars) - funcs = [server_func, assume_func, test_func] - tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) - for test_type in ["eks", "ecs"]: name = get_task_name(f"test-auth-aws-{test_type}") tags = [*base_tags, f"auth-aws-{test_type}"] From dd05e5b15b60208aee4e5393b25d24696ce056c7 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:14:21 -0500 Subject: [PATCH 11/29] add server-version tag --- .evergreen/generated_configs/tasks.yml | 14 +++++++------- .evergreen/scripts/generate_config.py | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 77cf3296a7..b271180626 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -21,7 +21,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: regular PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-regular] + tags: [auth-aws, auth-aws-regular, server-4.4] - name: test-auth-aws-5.0-assume-role-python3.10 commands: - func: run server @@ -34,7 +34,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-assume-role] + tags: [auth-aws, auth-aws-assume-role, server-5.0] - name: test-auth-aws-6.0-ec2-python3.11 commands: - func: run server @@ -47,7 +47,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-ec2] + tags: [auth-aws, auth-aws-ec2, server-6.0] - name: test-auth-aws-7.0-env-creds-python3.12 commands: - func: run server @@ -60,7 +60,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-env-creds] + tags: [auth-aws, auth-aws-env-creds, server-7.0] - name: test-auth-aws-8.0-session-creds-python3.13 commands: - func: run server @@ -73,7 +73,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds PYTHON_VERSION: "3.13" - tags: [auth-aws, auth-aws-session-creds] + tags: [auth-aws, auth-aws-session-creds, server-8.0] - name: test-auth-aws-rapid-web-identity-python3.9 commands: - func: run server @@ -86,7 +86,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-web-identity] + tags: [auth-aws, auth-aws-web-identity, server-rapid] - name: test-auth-aws-latest-web-identity-session-name-python3.10 commands: - func: run server @@ -100,7 +100,7 @@ tasks: SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test - tags: [auth-aws, auth-aws-web-identity] + tags: [auth-aws, auth-aws-web-identity, server-latest] - name: test-auth-aws-eks commands: - func: assume ec2 role diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index b1b794e114..04f97182f1 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -755,7 +755,7 @@ def create_aws_tasks(): orig_test_type = test_type if test_type == "web-identity-session-name": test_type = "web-identity" # noqa:PLW2901 - tags = [*base_tags, f"auth-aws-{test_type}"] + tags = [*base_tags, f"auth-aws-{test_type}", f"server-{version}"] test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) if orig_test_type == "web-identity-session-name": test_vars["AWS_ROLE_SESSION_NAME"] = "test" From 3df4ce0927f00967f7149f6af8f27ac026858af8 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:23:07 -0500 Subject: [PATCH 12/29] Revert "add server-version tag" This reverts commit dd05e5b15b60208aee4e5393b25d24696ce056c7. --- .evergreen/generated_configs/tasks.yml | 14 +++++++------- .evergreen/scripts/generate_config.py | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index b271180626..77cf3296a7 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -21,7 +21,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: regular PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-regular, server-4.4] + tags: [auth-aws, auth-aws-regular] - name: test-auth-aws-5.0-assume-role-python3.10 commands: - func: run server @@ -34,7 +34,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-assume-role, server-5.0] + tags: [auth-aws, auth-aws-assume-role] - name: test-auth-aws-6.0-ec2-python3.11 commands: - func: run server @@ -47,7 +47,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-ec2, server-6.0] + tags: [auth-aws, auth-aws-ec2] - name: test-auth-aws-7.0-env-creds-python3.12 commands: - func: run server @@ -60,7 +60,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-env-creds, server-7.0] + tags: [auth-aws, auth-aws-env-creds] - name: test-auth-aws-8.0-session-creds-python3.13 commands: - func: run server @@ -73,7 +73,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds PYTHON_VERSION: "3.13" - tags: [auth-aws, auth-aws-session-creds, server-8.0] + tags: [auth-aws, auth-aws-session-creds] - name: test-auth-aws-rapid-web-identity-python3.9 commands: - func: run server @@ -86,7 +86,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-web-identity, server-rapid] + tags: [auth-aws, auth-aws-web-identity] - name: test-auth-aws-latest-web-identity-session-name-python3.10 commands: - func: run server @@ -100,7 +100,7 @@ tasks: SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test - tags: [auth-aws, auth-aws-web-identity, server-latest] + tags: [auth-aws, auth-aws-web-identity] - name: test-auth-aws-eks commands: - func: assume ec2 role diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 04f97182f1..b1b794e114 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -755,7 +755,7 @@ def create_aws_tasks(): orig_test_type = test_type if test_type == "web-identity-session-name": test_type = "web-identity" # noqa:PLW2901 - tags = [*base_tags, f"auth-aws-{test_type}", f"server-{version}"] + tags = [*base_tags, f"auth-aws-{test_type}"] test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) if orig_test_type == "web-identity-session-name": test_vars["AWS_ROLE_SESSION_NAME"] = "test" From 9d0d0d76418898b809c93962844166bd54a904e9 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:23:14 -0500 Subject: [PATCH 13/29] Revert "clean up aws tasks" This reverts commit 3ce2dadb0c5cfa79939075ba9e92cec1a7523470. --- .evergreen/generated_configs/tasks.yml | 19 ++++++++++++--- .evergreen/generated_configs/variants.yml | 9 +------- .evergreen/scripts/generate_config.py | 28 ++++++++++++++--------- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 77cf3296a7..8c37973319 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -87,20 +87,33 @@ tasks: SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-web-identity-session-name-python3.10 + - name: test-auth-aws-rapid-web-identity-session-name-python3.9 commands: - func: run server vars: AUTH_AWS: "1" - VERSION: latest + VERSION: rapid - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity - PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] + - name: test-auth-aws-latest-regular-python3.10 + commands: + - func: run server + vars: + AUTH_AWS: "1" + VERSION: latest + - func: assume ec2 role + - func: run tests + vars: + TEST_NAME: auth_aws + SUB_TEST_NAME: regular + PYTHON_VERSION: "3.10" + tags: [auth-aws, auth-aws-regular] - name: test-auth-aws-eks commands: - func: assume ec2 role diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 0d910b95d8..0bad04d83b 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -89,16 +89,9 @@ buildvariants: tags: [pr] # Aws auth tests - - name: auth-aws-ubuntu-20 - tasks: - - name: .auth-aws !.auth-aws-ecs !.auth-aws-eks - display_name: Auth AWS Ubuntu-20 - run_on: - - ubuntu2004-small - tags: [] - name: auth-aws-ubuntu-22 tasks: - - name: .auth-aws !.server-4.4 !.server-5.0 + - name: .auth-aws display_name: Auth AWS Ubuntu-22 run_on: - ubuntu2204-small diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index b1b794e114..44235d3a00 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -483,18 +483,17 @@ def create_perf_variants(): def create_aws_auth_variants(): variants = [] - for host_name in ["ubuntu20", "ubuntu22", "win64", "macos"]: + for host_name in ["ubuntu22", "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 !.auth-aws-eks" ] tags = ["pr"] - elif host_name in ["win64", "ubuntu20"]: + elif host_name == "win64": tasks = [".auth-aws !.auth-aws-ecs !.auth-aws-eks"] - elif host_name == "ubuntu22": - tasks = [".auth-aws !.server-4.4 !.server-5.0"] host = HOSTS[host_name] variant = create_variant( tasks, @@ -744,27 +743,34 @@ def create_aws_tasks(): "env-creds", "session-creds", "web-identity", - "web-identity-session-name", ] base_tags = ["auth-aws"] 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}" - name = get_task_name(f"{base_name}-{test_type}", python=python) - orig_test_type = test_type - if test_type == "web-identity-session-name": - test_type = "web-identity" # noqa:PLW2901 tags = [*base_tags, f"auth-aws-{test_type}"] + name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) - if orig_test_type == "web-identity-session-name": - test_vars["AWS_ROLE_SESSION_NAME"] = "test" test_func = FunctionCall(func="run tests", vars=test_vars) server_vars = dict(AUTH_AWS="1", VERSION=version) server_func = FunctionCall(func="run server", vars=server_vars) funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + if test_type == "web-identity": + tags = [*base_tags, "auth-aws-web-identity"] + name = get_task_name(f"{base_name}-web-identity-session-name", python=python) + test_vars = dict( + TEST_NAME="auth_aws", + SUB_TEST_NAME="web-identity", + AWS_ROLE_SESSION_NAME="test", + PYTHON_VERSION=python, + ) + test_func = FunctionCall(func="run tests", vars=test_vars) + funcs = [server_func, assume_func, test_func] + tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + for test_type in ["eks", "ecs"]: name = get_task_name(f"test-auth-aws-{test_type}") tags = [*base_tags, f"auth-aws-{test_type}"] From 1c71fe16513b5359aaba08aaabee5d68ce0f1411 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:23:22 -0500 Subject: [PATCH 14/29] Revert "clean up aws tasks" This reverts commit 7591e8c39271d53200edb1f02be8985df29b6113. --- .evergreen/generated_configs/tasks.yml | 21 +++++++++------------ .evergreen/scripts/generate_config.py | 19 ++++++------------- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 8c37973319..9a0b626563 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -101,7 +101,7 @@ tasks: AWS_ROLE_SESSION_NAME: test PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-regular-python3.10 + - name: test-auth-aws-latest-ecs-python3.10 commands: - func: run server vars: @@ -111,25 +111,22 @@ tasks: - func: run tests vars: TEST_NAME: auth_aws - SUB_TEST_NAME: regular + SUB_TEST_NAME: ecs PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-eks + tags: [auth-aws, auth-aws-ecs] + - name: test-auth-aws-4.4-eks-python3.11 commands: + - func: run server + vars: + AUTH_AWS: "1" + VERSION: "4.4" - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: eks + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-eks] - - name: test-auth-aws-ecs - commands: - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - tags: [auth-aws, auth-aws-ecs] # Backport pr tests - name: backport-pr diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 44235d3a00..e7b8d09db4 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -743,18 +743,19 @@ def create_aws_tasks(): "env-creds", "session-creds", "web-identity", + "ecs", + "eks", ] - base_tags = ["auth-aws"] - 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}"] name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=test_vars) - server_vars = dict(AUTH_AWS="1", VERSION=version) - server_func = FunctionCall(func="run server", vars=server_vars) funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) @@ -771,14 +772,6 @@ def create_aws_tasks(): funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) - for test_type in ["eks", "ecs"]: - name = get_task_name(f"test-auth-aws-{test_type}") - tags = [*base_tags, f"auth-aws-{test_type}"] - test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) - 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 0e2d861fb497ff6e9ef6d34ea41c768759d367ac Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:23:30 -0500 Subject: [PATCH 15/29] Revert "use python 3.11" This reverts commit ae6adb7d87aaf90d76f4ed074e53d918452bc388. --- .evergreen/scripts/run-aws-container-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index 9922ce206e..2e922cf54a 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -20,7 +20,7 @@ fi set -o xtrace # Install python with pip. -PYTHON_VER="python3.11" +PYTHON_VER="python3.9" apt-get -qq update < /dev/null > /dev/null apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null From 0ba32f263424bb408833805a002b40b1667d5636 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:23:37 -0500 Subject: [PATCH 16/29] Revert "use ubuntu 22" This reverts commit 685bb9c6e9789e8e71754575b2c7da07e96e77d8. --- .evergreen/generated_configs/variants.yml | 6 +++--- .evergreen/scripts/generate_config.py | 2 +- .evergreen/scripts/run_tests.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 0bad04d83b..67a84a6cb8 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -89,12 +89,12 @@ buildvariants: tags: [pr] # Aws auth tests - - name: auth-aws-ubuntu-22 + - name: auth-aws-ubuntu-20 tasks: - name: .auth-aws - display_name: Auth AWS Ubuntu-22 + display_name: Auth AWS Ubuntu-20 run_on: - - ubuntu2204-small + - ubuntu2004-small tags: [] - name: auth-aws-win64 tasks: diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index e7b8d09db4..4b90c193d1 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -483,7 +483,7 @@ def create_perf_variants(): def create_aws_auth_variants(): variants = [] - for host_name in ["ubuntu22", "win64", "macos"]: + for host_name in ["ubuntu20", "win64", "macos"]: expansions = dict() tasks = [".auth-aws"] tags = [] diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index ad297a8bf4..6f5b312422 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -164,7 +164,7 @@ def run() -> None: target = f"run-mongodb-aws-{SUB_TEST_NAME}-test.sh" text = (HERE / "run-aws-container-test.sh").read_text() if SUB_TEST_NAME == "eks": - text = text.replace("ecs", "eks") + text = text.replace("python3.9", "python3.11").replace("ecs", "eks") (HERE.parent / target).write_text(text) run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh {SUB_TEST_NAME}") return From 3e24168ca18be9d30d8f09f4b34a49e717c2acc3 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:25:04 -0500 Subject: [PATCH 17/29] use python 3.11 --- .evergreen/scripts/run-aws-container-test.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index 2e922cf54a..5b13c8db93 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -20,7 +20,8 @@ fi set -o xtrace # Install python with pip. -PYTHON_VER="python3.9" +PYTHON_VER="python3.11" +add-apt-repository -qq ppa:deadsnakes/ppa -y apt-get -qq update < /dev/null > /dev/null apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null From 6de109dd438c81da4d8193e6da470cea749ed7af Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:28:11 -0500 Subject: [PATCH 18/29] cleanup --- .evergreen/generated_configs/tasks.yml | 12 ++++-------- .evergreen/scripts/generate_config.py | 4 ++++ .evergreen/scripts/generate_config_utils.py | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 9a0b626563..4e5c138d1e 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -101,7 +101,7 @@ tasks: AWS_ROLE_SESSION_NAME: test PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-ecs-python3.10 + - name: test-auth-aws-latest-ecs commands: - func: run server vars: @@ -112,20 +112,16 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs - PYTHON_VERSION: "3.10" + PYTHON_VERSION: null tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-4.4-eks-python3.11 + - name: test-auth-aws-4.4-eks commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: eks - PYTHON_VERSION: "3.11" + PYTHON_VERSION: null tags: [auth-aws, auth-aws-eks] # Backport pr tests diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 4b90c193d1..6e1c1a39da 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -753,10 +753,14 @@ def create_aws_tasks(): 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 test_type in ["eks", "ecs"]: + python = None # noqa:PLW2901 name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [server_func, assume_func, test_func] + if test_type == "eks": + funcs = [assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) if test_type == "web-identity": diff --git a/.evergreen/scripts/generate_config_utils.py b/.evergreen/scripts/generate_config_utils.py index ad092983fa..5cc3828ac0 100644 --- a/.evergreen/scripts/generate_config_utils.py +++ b/.evergreen/scripts/generate_config_utils.py @@ -197,7 +197,7 @@ def get_common_name(base: str, sep: str, **kwargs) -> str: display_name = f"{display_name}{sep}{version}" for key, value in kwargs.items(): name = value - if key.lower() == "python": + if key.lower() == "python" and value is not None: if not value.startswith("pypy"): name = f"Python{value}" else: From 7b6f228655ac3fe84f86b8040b419b553c132a97 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:32:30 -0500 Subject: [PATCH 19/29] clean up task names --- .evergreen/generated_configs/tasks.yml | 4 ++-- .evergreen/scripts/generate_config.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 4e5c138d1e..680ba42d28 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -101,7 +101,7 @@ tasks: AWS_ROLE_SESSION_NAME: test PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-ecs + - name: test-auth-aws-ecs commands: - func: run server vars: @@ -114,7 +114,7 @@ tasks: SUB_TEST_NAME: ecs PYTHON_VERSION: null tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-4.4-eks + - name: test-auth-aws-eks commands: - func: assume ec2 role - func: run tests diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 6e1c1a39da..6eeb7a203a 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -755,6 +755,7 @@ def create_aws_tasks(): tags = [*base_tags, f"auth-aws-{test_type}"] if test_type in ["eks", "ecs"]: python = None # noqa:PLW2901 + base_name = "test-auth-aws" name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=test_vars) From f3dc0a79839577c4ef8bad31134b307d9b94b12b Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:42:27 -0500 Subject: [PATCH 20/29] clean up script --- .evergreen/scripts/run-aws-container-test.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index 5b13c8db93..92019570ea 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -21,6 +21,8 @@ set -o xtrace # Install python with pip. PYTHON_VER="python3.11" +apt-get -qq update < /dev/null > /dev/null +apt-get -qq install software-properties-common -y # needed for apt-add-repository add-apt-repository -qq ppa:deadsnakes/ppa -y apt-get -qq update < /dev/null > /dev/null apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null From bac627717b411f5a0eec07edf2703a3c6fb623ce Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:50:03 -0500 Subject: [PATCH 21/29] cleanup --- .evergreen/generated_configs/tasks.yml | 13 ++++---- .evergreen/scripts/generate_config.py | 33 +++++++++----------- .evergreen/scripts/run-aws-container-test.sh | 4 +-- 3 files changed, 22 insertions(+), 28 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 680ba42d28..b5a58a1d27 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -87,26 +87,26 @@ tasks: SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-rapid-web-identity-session-name-python3.9 + - name: test-auth-aws-latest-web-identity-session-name-python3.10 commands: - func: run server vars: AUTH_AWS: "1" - VERSION: rapid + VERSION: latest - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity + SUB_TEST_NAME: web-identity-session-name + PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-ecs + - name: test-auth-aws-4.4-ecs commands: - func: run server vars: AUTH_AWS: "1" - VERSION: latest + VERSION: "4.4" - func: assume ec2 role - func: run tests vars: @@ -121,7 +121,6 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: eks - PYTHON_VERSION: null tags: [auth-aws, auth-aws-eks] # Backport pr tests diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 6eeb7a203a..3f59eec4ec 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -743,39 +743,34 @@ def create_aws_tasks(): "env-creds", "session-creds", "web-identity", + "web-identity-session-name", "ecs", - "eks", ] + 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 test_type in ["eks", "ecs"]: + if test_type == "ecs": python = None # noqa:PLW2901 - base_name = "test-auth-aws" name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) + if test_type == "web-identity-session-name": + test_type = "web-identity" # noqa:PLW2901 + test_vars["AWS_ROLE_SESSION_NAME"] = "test" + tags = [*base_tags, f"auth-aws-{test_type}"] test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [server_func, assume_func, test_func] - if test_type == "eks": - funcs = [assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) - if test_type == "web-identity": - tags = [*base_tags, "auth-aws-web-identity"] - name = get_task_name(f"{base_name}-web-identity-session-name", python=python) - test_vars = dict( - TEST_NAME="auth_aws", - SUB_TEST_NAME="web-identity", - AWS_ROLE_SESSION_NAME="test", - PYTHON_VERSION=python, - ) - test_func = FunctionCall(func="run tests", vars=test_vars) - funcs = [server_func, assume_func, test_func] - tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + # The EKS test does not start a server + tags = ["auth-aws", "auth-aws-eks"] + name = get_task_name("test-auth-aws-eks") + test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME="eks") + 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 diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index 92019570ea..61786f8360 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -22,8 +22,8 @@ set -o xtrace # Install python with pip. PYTHON_VER="python3.11" apt-get -qq update < /dev/null > /dev/null -apt-get -qq install software-properties-common -y # needed for apt-add-repository -add-apt-repository -qq ppa:deadsnakes/ppa -y +apt-get -qq install software-properties-common -y < /dev/null > /dev/null # needed for apt-add-repository +add-apt-repository -ppa:deadsnakes/ppa -y apt-get -qq update < /dev/null > /dev/null apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null From b54a2744736dd3462d5f55f94b562c14e0798f10 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:57:24 -0500 Subject: [PATCH 22/29] cleanup --- .evergreen/generated_configs/tasks.yml | 21 ++++++++++----------- .evergreen/scripts/generate_config.py | 23 +++++++++++++---------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index b5a58a1d27..a5442ef177 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -101,27 +101,26 @@ tasks: PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-4.4-ecs + - name: test-auth-aws-eks commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - PYTHON_VERSION: null - tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-eks + SUB_TEST_NAME: eks + tags: [auth-aws, auth-aws-eks] + - name: test-auth-aws-ecs-latest commands: - func: assume ec2 role + - func: run server + vars: + AUTH_AWS: "1" + VERSION: latest - func: run tests vars: TEST_NAME: auth_aws - SUB_TEST_NAME: eks - tags: [auth-aws, auth-aws-eks] + SUB_TEST_NAME: ecs + tags: [auth-aws, auth-aws-ecs] # Backport pr tests - name: backport-pr diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 3f59eec4ec..ef8406c9ed 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -744,7 +744,6 @@ def create_aws_tasks(): "session-creds", "web-identity", "web-identity-session-name", - "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): @@ -752,8 +751,6 @@ def create_aws_tasks(): base_tags = ["auth-aws"] server_vars = dict(AUTH_AWS="1", VERSION=version) server_func = FunctionCall(func="run server", vars=server_vars) - if test_type == "ecs": - python = None # noqa:PLW2901 name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) if test_type == "web-identity-session-name": @@ -764,13 +761,19 @@ def create_aws_tasks(): funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) - # The EKS test does not start a server - tags = ["auth-aws", "auth-aws-eks"] - name = get_task_name("test-auth-aws-eks") - test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME="eks") - test_func = FunctionCall(func="run tests", vars=test_vars) - funcs = [assume_func, test_func] - tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + for test_type in ["eks", "ecs"]: + tags = ["auth-aws", f"auth-aws-{test_type}"] + base_name = f"test-auth-aws-{test_type}" + test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) + test_func = FunctionCall(func="run tests", vars=test_vars) + funcs = [assume_func, test_func] + if test_type == "ecs": + server_vars = dict(AUTH_AWS="1", VERSION=version) + server_func = FunctionCall(func="run server", vars=server_vars) + base_name += "-latest" + funcs = [assume_func, server_func, test_func] + name = get_task_name(base_name) + tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) return tasks From a413adab707b3e5404257dc61090f374fcd6f816 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:57:56 -0500 Subject: [PATCH 23/29] cleanup --- .evergreen/generated_configs/tasks.yml | 7 +++---- .evergreen/scripts/generate_config.py | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index a5442ef177..2086868a5c 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -108,19 +108,18 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: eks - tags: [auth-aws, auth-aws-eks] - - name: test-auth-aws-ecs-latest + tags: [auth-aws, auth-aws-eks-latest] + - name: test-auth-aws-ecs commands: - func: assume ec2 role - func: run server vars: AUTH_AWS: "1" - VERSION: latest - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs - tags: [auth-aws, auth-aws-ecs] + tags: [auth-aws, auth-aws-ecs-latest] # Backport pr tests - name: backport-pr diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index ef8406c9ed..cace625197 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -762,17 +762,16 @@ def create_aws_tasks(): tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) for test_type in ["eks", "ecs"]: - tags = ["auth-aws", f"auth-aws-{test_type}"] + tags = ["auth-aws", f"auth-aws-{test_type}-latest"] base_name = f"test-auth-aws-{test_type}" + name = get_task_name(base_name) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [assume_func, test_func] if test_type == "ecs": - server_vars = dict(AUTH_AWS="1", VERSION=version) + server_vars = dict(AUTH_AWS="1") server_func = FunctionCall(func="run server", vars=server_vars) - base_name += "-latest" funcs = [assume_func, server_func, test_func] - name = get_task_name(base_name) tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) return tasks From 2ee45ccd8777a1b3df7e9934e67f82200695d0af Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 16:58:26 -0500 Subject: [PATCH 24/29] cleanup --- .evergreen/generated_configs/tasks.yml | 8 ++++---- .evergreen/scripts/generate_config.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 2086868a5c..c5733af935 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -101,15 +101,15 @@ tasks: PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-eks + - name: test-auth-aws-eks-latest commands: - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: eks - tags: [auth-aws, auth-aws-eks-latest] - - name: test-auth-aws-ecs + tags: [auth-aws, auth-aws-eks] + - name: test-auth-aws-ecs-latest commands: - func: assume ec2 role - func: run server @@ -119,7 +119,7 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs - tags: [auth-aws, auth-aws-ecs-latest] + tags: [auth-aws, auth-aws-ecs] # Backport pr tests - name: backport-pr diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index cace625197..3ef4790078 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -762,8 +762,8 @@ def create_aws_tasks(): tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) for test_type in ["eks", "ecs"]: - tags = ["auth-aws", f"auth-aws-{test_type}-latest"] - base_name = f"test-auth-aws-{test_type}" + tags = ["auth-aws", f"auth-aws-{test_type}"] + base_name = f"test-auth-aws-{test_type}-latest" name = get_task_name(base_name) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) test_func = FunctionCall(func="run tests", vars=test_vars) From 7491eb590ec09c368975f2365a0bf2a58bbefb5c Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 17:02:15 -0500 Subject: [PATCH 25/29] update display --- .evergreen/generated_configs/tasks.yml | 4 ++-- .evergreen/scripts/generate_config.py | 5 +++-- .evergreen/scripts/run-aws-container-test.sh | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index c5733af935..d00e6ba203 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -101,7 +101,7 @@ tasks: PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-eks-latest + - name: test-auth-aws-latest-eks-python3.11 commands: - func: assume ec2 role - func: run tests @@ -109,7 +109,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: eks tags: [auth-aws, auth-aws-eks] - - name: test-auth-aws-ecs-latest + - name: test-auth-aws-latest-ecs-python3.11 commands: - func: assume ec2 role - func: run server diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 3ef4790078..ca5bededea 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -763,8 +763,9 @@ def create_aws_tasks(): for test_type in ["eks", "ecs"]: tags = ["auth-aws", f"auth-aws-{test_type}"] - base_name = f"test-auth-aws-{test_type}-latest" - name = get_task_name(base_name) + base_name = f"test-auth-aws-latest-{test_type}" + # Keep this version in sync with the one in "run-aws-container-test.sh". + name = get_task_name(base_name, python="3.11") test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [assume_func, test_func] diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index 61786f8360..282b28e4e3 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -20,6 +20,7 @@ fi set -o xtrace # Install python with pip. +# Keep this version in sync with the one in "generate_config.py". PYTHON_VER="python3.11" apt-get -qq update < /dev/null > /dev/null apt-get -qq install software-properties-common -y < /dev/null > /dev/null # needed for apt-add-repository From 924f5fe116c6fd0b8c3731046cb4588c69bc4218 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 17:05:16 -0500 Subject: [PATCH 26/29] fix typo --- .evergreen/scripts/generate_config.py | 1 + .evergreen/scripts/run-aws-container-test.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index ca5bededea..180fdf6f2d 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -761,6 +761,7 @@ def create_aws_tasks(): funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + # These test types use a fixed Python version and the latest server. for test_type in ["eks", "ecs"]: tags = ["auth-aws", f"auth-aws-{test_type}"] base_name = f"test-auth-aws-latest-{test_type}" diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index 282b28e4e3..d753d9e6f1 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -24,7 +24,7 @@ set -o xtrace PYTHON_VER="python3.11" apt-get -qq update < /dev/null > /dev/null apt-get -qq install software-properties-common -y < /dev/null > /dev/null # needed for apt-add-repository -add-apt-repository -ppa:deadsnakes/ppa -y +add-apt-repository ppa:deadsnakes/ppa -y apt-get -qq update < /dev/null > /dev/null apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null From a3905b3340d8674937329744972fd61acec832cf Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 17:06:38 -0500 Subject: [PATCH 27/29] fix test --- .evergreen/generated_configs/tasks.yml | 2 +- .evergreen/scripts/generate_config.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index d00e6ba203..ef6dc7e64d 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -97,7 +97,7 @@ tasks: - func: run tests vars: TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity-session-name + SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.10" AWS_ROLE_SESSION_NAME: test tags: [auth-aws, auth-aws-web-identity] diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 180fdf6f2d..79265c466d 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -754,7 +754,7 @@ def create_aws_tasks(): name = get_task_name(f"{base_name}-{test_type}", python=python) test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) if test_type == "web-identity-session-name": - test_type = "web-identity" # noqa:PLW2901 + test_type = test_vars["SUB_TEST_NAME"] = "web-identity" # noqa:PLW2901 test_vars["AWS_ROLE_SESSION_NAME"] = "test" tags = [*base_tags, f"auth-aws-{test_type}"] test_func = FunctionCall(func="run tests", vars=test_vars) From 67c0b54924918f739b4afa75d41e8647db914464 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 20:25:26 -0500 Subject: [PATCH 28/29] fix eks --- .evergreen/scripts/run-aws-container-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index d753d9e6f1..e4daef1758 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -24,7 +24,7 @@ set -o xtrace PYTHON_VER="python3.11" apt-get -qq update < /dev/null > /dev/null apt-get -qq install software-properties-common -y < /dev/null > /dev/null # needed for apt-add-repository -add-apt-repository ppa:deadsnakes/ppa -y +add-apt-repository ppa:deadsnakes/ppa -y || true # this will fail on debian apt-get -qq update < /dev/null > /dev/null apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null From dadc7991b95957c9deeb73e7eaa1058461a21d4f Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 30 May 2025 20:29:40 -0500 Subject: [PATCH 29/29] handle the python version --- .evergreen/generated_configs/tasks.yml | 2 ++ .evergreen/scripts/generate_config.py | 6 +++--- .evergreen/scripts/run-aws-container-test.sh | 3 +-- .evergreen/scripts/run_tests.py | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index ef6dc7e64d..f02b9be878 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -108,6 +108,7 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: eks + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-eks] - name: test-auth-aws-latest-ecs-python3.11 commands: @@ -119,6 +120,7 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-ecs] # Backport pr tests diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 79265c466d..f8f6986a52 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -765,9 +765,9 @@ def create_aws_tasks(): for test_type in ["eks", "ecs"]: tags = ["auth-aws", f"auth-aws-{test_type}"] base_name = f"test-auth-aws-latest-{test_type}" - # Keep this version in sync with the one in "run-aws-container-test.sh". - name = get_task_name(base_name, python="3.11") - test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) + python = "3.11" + name = get_task_name(base_name, python=python) + test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [assume_func, test_func] if test_type == "ecs": diff --git a/.evergreen/scripts/run-aws-container-test.sh b/.evergreen/scripts/run-aws-container-test.sh index e4daef1758..6d35717f03 100755 --- a/.evergreen/scripts/run-aws-container-test.sh +++ b/.evergreen/scripts/run-aws-container-test.sh @@ -20,8 +20,7 @@ fi set -o xtrace # Install python with pip. -# Keep this version in sync with the one in "generate_config.py". -PYTHON_VER="python3.11" +PYTHON_VER="python3.xx" apt-get -qq update < /dev/null > /dev/null apt-get -qq install software-properties-common -y < /dev/null > /dev/null # needed for apt-add-repository add-apt-repository ppa:deadsnakes/ppa -y || true # this will fail on debian diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index 6f5b312422..736bc0e016 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -163,8 +163,9 @@ def run() -> None: if TEST_NAME == "auth_aws" and SUB_TEST_NAME in ["ecs", "eks"]: target = f"run-mongodb-aws-{SUB_TEST_NAME}-test.sh" text = (HERE / "run-aws-container-test.sh").read_text() + text = text.replace("python3.xx", os.environ["PYTHON_VERSION"]) if SUB_TEST_NAME == "eks": - text = text.replace("python3.9", "python3.11").replace("ecs", "eks") + text = text.replace("ecs", "eks") (HERE.parent / target).write_text(text) run_command(f"{DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh {SUB_TEST_NAME}") return