From a79257a2b4043477a5937f6d9f3aafcae41aeb8e Mon Sep 17 00:00:00 2001 From: Lena Garber Date: Mon, 3 Aug 2026 14:35:41 -0400 Subject: [PATCH] Retry on 504s in integration test suite; resolve VPU availability dynamically --- test/integration/conftest.py | 1 + test/integration/models/linode/test_linode.py | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/test/integration/conftest.py b/test/integration/conftest.py index a210fc20f..d81360b97 100644 --- a/test/integration/conftest.py +++ b/test/integration/conftest.py @@ -286,6 +286,7 @@ def test_linode_client(): token, base_url=api_url, ca_path=api_ca_file, + retry_statuses=[504], ) return client diff --git a/test/integration/models/linode/test_linode.py b/test/integration/models/linode/test_linode.py index 1ef129bf1..55ae68880 100644 --- a/test/integration/models/linode/test_linode.py +++ b/test/integration/models/linode/test_linode.py @@ -23,6 +23,7 @@ Type, ) from linode_api4.objects.linode import InstanceDiskEncryptionType, MigrationType +from linode_api4.objects.region import RegionAvailabilityEntry @pytest.fixture(scope="session") @@ -119,12 +120,23 @@ def linode_and_vpc_for_legacy_interface_tests_offline( @pytest.fixture(scope="session") def linode_for_vpu_tests(test_linode_client, e2e_test_firewall): client = test_linode_client - region = "us-lax" + vpu_type = "g1-accelerated-netint-vpu-t1u1-s" + + availability = client.regions.availability( + RegionAvailabilityEntry.filters.plan == vpu_type + ) + + region = next( + (entry.region for entry in availability if entry.available), None + ) + + if region is None: + pytest.skip("No VPU capacity is currently available") label = get_test_label(length=8) linode_instance = client.linode.instance_create( - "g1-accelerated-netint-vpu-t1u1-s", + vpu_type, region, image="linode/debian12", label=label,