Skip to content

PYTHON-5234 Clean up load balancer variants #2241

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 186 additions & 3 deletions .evergreen/generated_configs/tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -805,42 +805,225 @@ tasks:
SUB_TEST_NAME: azure-fail

# Load balancer tests
- name: test-load-balancer-auth-ssl
- name: test-load-balancer-auth-ssl-v6.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "6.0"
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-auth-ssl-v7.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "7.0"
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-auth-ssl-v8.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "8.0"
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-auth-ssl-rapid
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: rapid
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-noauth-ssl
- name: test-load-balancer-auth-ssl-latest
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: latest
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-noauth-ssl-v6.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "6.0"
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-ssl-v7.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "7.0"
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-ssl-v8.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "8.0"
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-nossl
- name: test-load-balancer-noauth-ssl-rapid
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: rapid
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-ssl-latest
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: latest
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-nossl-v6.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: "6.0"
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-v7.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: "7.0"
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-v8.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: "8.0"
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-rapid
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: rapid
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-latest
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: latest
- func: run tests
vars:
AUTH: noauth
Expand Down
47 changes: 2 additions & 45 deletions .evergreen/generated_configs/variants.yml
Original file line number Diff line number Diff line change
Expand Up @@ -599,56 +599,13 @@ buildvariants:
PYTHON_BINARY: /opt/python/3.13/bin/python3

# Load balancer tests
- name: load-balancer-rhel8-v6.0-python3.9
- name: load-balancer
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 v6.0 Python3.9
display_name: Load Balancer
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: "6.0"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-v7.0-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 v7.0 Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: "7.0"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-v8.0-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 v8.0 Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: "8.0"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-rapid-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 rapid Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: rapid
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-latest-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 latest Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: latest
PYTHON_BINARY: /opt/python/3.9/bin/python3

# Mockupdb tests
- name: mockupdb-rhel8-python3.9
Expand Down
30 changes: 11 additions & 19 deletions .evergreen/scripts/generate_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -413,23 +413,11 @@ def get_encryption_expansions(encryption):

def create_load_balancer_variants():
# Load balancer tests - run all supported server versions using the lowest supported python.
host = DEFAULT_HOST
batchtime = BATCHTIME_WEEK
versions = get_versions_from("6.0")
variants = []
for version in versions:
python = CPYTHONS[0]
display_name = get_variant_name("Load Balancer", host, python=python, version=version)
variant = create_variant(
[".load-balancer"],
display_name,
python=python,
host=host,
version=version,
batchtime=batchtime,
return [
create_variant(
[".load-balancer"], "Load Balancer", host=DEFAULT_HOST, batchtime=BATCHTIME_WEEK
)
variants.append(variant)
return variants
]


def create_compression_variants():
Expand Down Expand Up @@ -830,11 +818,15 @@ def create_server_tasks():

def create_load_balancer_tasks():
tasks = []
for auth, ssl in AUTH_SSLS:
name = f"test-load-balancer-{auth}-{ssl}".lower()
for (auth, ssl), version in product(AUTH_SSLS, get_versions_from("6.0")):
name = get_task_name(f"test-load-balancer-{auth}-{ssl}", version=version)
tags = ["load-balancer", auth, ssl]
server_vars = dict(
TOPOLOGY="sharded_cluster", AUTH=auth, SSL=ssl, TEST_NAME="load_balancer"
TOPOLOGY="sharded_cluster",
AUTH=auth,
SSL=ssl,
TEST_NAME="load_balancer",
VERSION=version,
)
server_func = FunctionCall(func="run server", vars=server_vars)
test_vars = dict(AUTH=auth, SSL=ssl, TEST_NAME="load_balancer")
Expand Down
Loading