Skip to content

Commit 3fbdaeb

Browse files
committed
[Deps] Add dependency_upgrade.yaml integration test config for dependency-upgrade pipeline
* Condense EFA to c5n/c6gn OS fan-out, drop trainium and pin DCV fan-out in dependency_upgrade.yaml
1 parent 41422f9 commit 3fbdaeb

1 file changed

Lines changed: 176 additions & 0 deletions

File tree

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
{%- import 'common.jinja2' as common with context -%}
2+
{{- common.OSS_COMMERCIAL_X86.append("rocky8") or "" -}}
3+
{{- common.OSS_COMMERCIAL_X86.append("rocky9") or "" -}}
4+
---
5+
# Config for the dependency-upgrade integration run (check_dependency_updates_pipeline).
6+
#
7+
# Purpose: validate that the OS AMIs built with upgraded dependencies still work. Curated
8+
# subset of develop.yaml covering the features tied to the upgradable deps (see
9+
# DEP_TEST_FEATURES in check_dependency_updates.py): slurm stack, efa, dcv, pyxis,
10+
# efs/internal_efs/shared_home, slurm accounting/rest, gpu health checks.
11+
#
12+
# OS coverage vs. capacity:
13+
# - Plain-region tests (c5.xlarge / m6g.xlarge, no capacity constraint) use
14+
# {{ AVAILABLE_AMIS_OSS_X86 }} / {{ AVAILABLE_AMIS_OSS_ARM }} so every OS built this run is
15+
# exercised, per architecture.
16+
# - Capacity-sensitive tests (GPU/EFA/DCV instances) keep develop.yaml's capacity-reservation
17+
# region AND its single OS verbatim: the reservation is per-OS, so these cannot fan out over
18+
# all OSes without hitting ICE. Do not replace their region/oss.
19+
#
20+
# Excludes special-hardware tests (gb200/p6e/trainium/capacity blocks) that require
21+
# INSTANCE_TYPES_DATA and dedicated capacity; they do not validate dependency upgrades.
22+
test-suites:
23+
basic:
24+
# Capacity-reservation pinned (GPU/DCV instance) - keep region+oss verbatim from develop.yaml.
25+
test_essential_features.py::test_essential_features:
26+
dimensions:
27+
- regions: [{{ US_EAST_1_INSTANCE_TYPE_0_xlarge_CAPACITY_RESERVATION_8_INSTANCES_2_HOURS_NOPG_DCV_OS_X86_1__g5g_2xlarge_CAPACITY_RESERVATION_1_INSTANCES_1_HOURS_NOPG_DCV_OS_X86_1 }}]
28+
instances: [{{ US_EAST_1_INSTANCE_TYPE_0 }}.xlarge]
29+
oss: [{{ DCV_OS_X86_1 }}]
30+
schedulers: ["slurm"]
31+
dcv:
32+
# Capacity-reservation pinned (GPU instances) - keep verbatim.
33+
test_dcv.py::test_dcv_configuration:
34+
dimensions:
35+
# Fan out over all built OSes: two same-AZ reservations split by platform
36+
# (RHEL vs Linux/UNIX). 3 g4dn per cluster; sized for worst case 5 non-RHEL + 2 RHEL OSes.
37+
- regions: [{{ g4dn_2xlarge_CAPACITY_RESERVATION_15_INSTANCES_1_HOURS_NOPG_OTHER__g4dn_2xlarge_CAPACITY_RESERVATION_6_INSTANCES_1_HOURS_NOPG_rhel }}]
38+
instances: ["g4dn.2xlarge"]
39+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
40+
schedulers: ["slurm"]
41+
- regions: [{{ g5g_2xlarge_CAPACITY_RESERVATION_2_INSTANCES_1_HOURS_NOPG_DCV_OS_X86_3 }}]
42+
instances: ["g5g.2xlarge"]
43+
oss: [{{ DCV_OS_X86_3 }}]
44+
schedulers: ["slurm"]
45+
capacity_reservations:
46+
# Verbatim from develop.yaml.
47+
test_on_demand_capacity_reservation.py::test_on_demand_capacity_reservation:
48+
dimensions:
49+
- regions: ["us-west-2"]
50+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
51+
oss: [{{ OS_X86_3 }}]
52+
test_capacity_blocks.py::test_capacity_blocks:
53+
dimensions:
54+
- regions: ["eu-west-1"]
55+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
56+
oss: [{{ OS_X86_5 }}]
57+
schedulers: ["slurm"]
58+
efa:
59+
# Fan out the vanilla EFA instances (c5n x86, c6gn ARM) over all built OSes via two
60+
# same-AZ reservations split by platform (RHEL vs Linux/UNIX). 3 instances/cluster
61+
# (2 compute + 1 head); worst case 5 non-RHEL + 2 RHEL OSes. GPU/HPC-specific EFA
62+
# dims (p4d/p6-b200/hpc6id/hpc6a) test instance-specific behavior, not deps, and are dropped.
63+
test_efa.py::test_efa:
64+
dimensions:
65+
- regions: [{{ c5n_18xlarge_CAPACITY_RESERVATION_15_INSTANCES_1_HOURS_YESPG_OTHER__c5n_18xlarge_CAPACITY_RESERVATION_6_INSTANCES_1_HOURS_YESPG_rhel }}]
66+
instances: ["c5n.18xlarge"]
67+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
68+
schedulers: ["slurm"]
69+
- regions: [{{ c6gn_16xlarge_CAPACITY_RESERVATION_15_INSTANCES_1_HOURS_YESPG_OTHER__c6gn_16xlarge_CAPACITY_RESERVATION_6_INSTANCES_1_HOURS_YESPG_rhel }}]
70+
instances: ["c6gn.16xlarge"]
71+
oss: {{ AVAILABLE_AMIS_OSS_ARM }}
72+
schedulers: ["slurm"]
73+
ultraserver:
74+
# Verbatim from develop.yaml. Needs INSTANCE_TYPES_DATA (p6e-gb200.36xlarge).
75+
test_gb200.py::test_gb200:
76+
dimensions:
77+
- regions: [ "use1-az1" ] # do not move, unless instance type support is moved as well
78+
instances: [ "g5g.xlarge" ]
79+
oss: [ "alinux2023" ]
80+
schedulers: [ "slurm" ]
81+
- regions: [ "usw2-az4" ] # do not move, unless instance type support is moved as well
82+
instances: [ "p6e-gb200.36xlarge" ]
83+
oss: [ "ubuntu2204", "ubuntu2404", "rocky9", "alinux2023", "rhel9" ]
84+
schedulers: [ "slurm" ]
85+
health_checks:
86+
# Capacity-reservation pinned (GPU instance) - keep verbatim.
87+
test_gpu_health_checks.py::test_cluster_with_gpu_health_checks:
88+
dimensions:
89+
- regions: [{{ US_WEST_2_GPU_INSTANCE_TYPE_0_CAPACITY_RESERVATION_3_INSTANCES_1_HOURS_NOPG_OS_X86_5 }}]
90+
instances: [{{ US_WEST_2_GPU_INSTANCE_TYPE_0 }}]
91+
oss: [{{ OS_X86_5 }}]
92+
schedulers: ["slurm"]
93+
pyxis:
94+
test_pyxis.py::test_pyxis:
95+
dimensions:
96+
- regions: ["eu-west-1"]
97+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
98+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
99+
schedulers: ["slurm"]
100+
schedulers:
101+
test_slurm.py::test_slurm:
102+
dimensions:
103+
- regions: ["eu-central-1"]
104+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
105+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
106+
schedulers: ["slurm"]
107+
test_slurm.py::test_slurm_scaling:
108+
dimensions:
109+
- regions: ["us-east-2"]
110+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
111+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
112+
schedulers: ["slurm"]
113+
test_custom_munge_key.py::test_custom_munge_key:
114+
dimensions:
115+
- regions: ["eu-west-1"]
116+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
117+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
118+
schedulers: ["slurm"]
119+
test_slurm_accounting.py::test_slurm_accounting:
120+
dimensions:
121+
- regions: ["ap-south-1"]
122+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
123+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
124+
schedulers: ["slurm"]
125+
test_slurm_accounting.py::test_slurm_accounting_external_dbd:
126+
dimensions:
127+
- regions: ["ap-south-1"]
128+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
129+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
130+
schedulers: ["slurm"]
131+
test_slurm_rest_api.py::test_slurm_rest_api:
132+
dimensions:
133+
- regions: ["eu-north-1"]
134+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
135+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
136+
schedulers: ["slurm"]
137+
storage:
138+
test_efs.py::test_efs_access_point:
139+
dimensions:
140+
- regions: ["us-east-2"]
141+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
142+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
143+
schedulers: ["slurm"]
144+
# EFS tests can be done in any region.
145+
test_efs.py::test_efs_compute_az:
146+
dimensions:
147+
- regions: ["ca-central-1"]
148+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
149+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
150+
schedulers: ["slurm"]
151+
test_efs.py::test_efs_same_az:
152+
dimensions:
153+
- regions: ["ca-central-1"]
154+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
155+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
156+
schedulers: [ "slurm" ]
157+
# The checks performed in test_efs_same_az is similar to test_multiple_efs.
158+
# We should consider this when assigning dimensions to each test.
159+
test_efs.py::test_multiple_efs:
160+
dimensions:
161+
- regions: ["ca-central-1"]
162+
instances: {{ common.INSTANCES_DEFAULT_ARM }}
163+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
164+
schedulers: [ "slurm" ]
165+
test_shared_home.py::test_shared_home:
166+
dimensions:
167+
- regions: ["us-west-1"]
168+
instances: {{ common.INSTANCES_DEFAULT_X86 }}
169+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
170+
schedulers: ["slurm"]
171+
test_internal_efs.py::test_internal_efs:
172+
dimensions:
173+
- regions: ["us-west-2"]
174+
instances: {{ common.INSTANCES_DEFAULT }}
175+
oss: {{ AVAILABLE_AMIS_OSS_X86 }}
176+
schedulers: ["slurm"]

0 commit comments

Comments
 (0)