Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
845adc8
Install each device stack only where its driver is claimed
haarchri Oct 29, 2026
f8f061a
Regenerate schemas and aicr stacks
haarchri Oct 29, 2026
2ddbafe
Fake a pool per device stack in the cloud e2e legs
haarchri Oct 29, 2026
41cd36f
Add Qwen2.5-0.5B recipes for an AMD GPU and for CPUs
haarchri Oct 29, 2026
0848772
Observe only NVIDIA GPU pools with the cluster agent
negz Oct 29, 2026
65e4a25
Replace MetricMapping's cumulative boolean with a fromType enum
negz Oct 29, 2026
1a0f54e
Note that CPU pools need Kubernetes 1.36 on GKE, AKS and Nebius
negz Oct 30, 2026
d36e26c
Regenerate schemas
negz Oct 29, 2026
8de9535
Rename the AMD Qwen2.5-0.5B recipe to qwen2.5-0.5b-amd
negz Oct 30, 2026
42700fe
Check compose-inference-cluster's supported drivers against the stack's
negz Oct 30, 2026
934fb2c
Name every unsupported class, and gate only Existing out
negz Oct 30, 2026
1664320
Declare external DRA drivers in every cloud's module
negz Oct 30, 2026
be957b9
Pin the AMD GPU operator's metrics exporter image
negz Oct 30, 2026
f93d6ee
Reject provisioned classes that claim dra.cpu beside another driver
negz Oct 30, 2026
12bee5d
Regenerate schemas
negz Oct 30, 2026
d02d198
Reject a dra.cpu claim that spans more than one device
negz Oct 30, 2026
28aa28c
Declare CPU pool taints like GPU pool taints
negz Oct 30, 2026
4dc4f9c
Correct serving stack comments the device stacks made stale
negz Oct 30, 2026
4693b4b
Update the docs for per-driver device stacks, CPU pools and AMD
negz Oct 30, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/e2e-clouds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: false
matrix:
cloud: [eks, aks, gke, civo, nebius, vultr, existing]
cloud: [eks, aks, gke, civo, nebius, vultr, existing, existing-filtered]

steps:
# Two kind clusters and the serving stack need more disk than the runner
Expand Down
7 changes: 5 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ and it runs the pytest suite in `e2e/tests/`, exiting non-zero if a test fails.
verify command is what the label-gated `E2E` workflow runs on CI (add the
`test-e2e` label to a PR), so a green local `--verify` and a green CI run mean
the same thing. `-- --cloud <cloud>` instead installs one cloud's serving
stack onto KWOK-faked GPU pools and audits placement, still with no
stack onto KWOK-faked device pools and audits placement, still with no
credentials; its per-cloud CI matrix (the `E2E Clouds` workflow) runs on pull
requests touching the serving stack or `e2e/`. See `e2e/README.md`.

Expand Down Expand Up @@ -429,7 +429,10 @@ checks to trip. In order:
`dra` owns the DRA selector paths the upstream values don't. The fork
is deleted the day NVIDIA/aicr#2517 lands.
3. Expect `ALLOW`/`DROP` to fail closed on any component the new catalog
adds; classify it with a reason.
adds; classify it with a reason. An `ALLOW` entry also names the DRA
drivers whose device stacks the component belongs to (empty for a
component every cluster needs) - deciding that is part of classifying
it; see design/multi-accelerator.md.
4. Expect `check_namespace_holds` to fail closed if the catalog moved a
component's chart namespace: Helm can't move a release across
namespaces, so existing clusters would wedge on a fresh-install
Expand Down
5 changes: 4 additions & 1 deletion apis/aksclusters/definition.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,13 @@ spec:
Determines what workloads this pool runs. System pools
host controllers, gateways, and infrastructure. GPU
pools host inference workloads and get the NVIDIA
driver installed by AKS.
driver installed by AKS. CPU pools host CPU inference
workloads: no GPU driver, and the modelplane.ai/cpu
label and taint.
enum:
- System
- GPU
- CPU
vmSize:
type: string
description: >-
Expand Down
15 changes: 11 additions & 4 deletions apis/civoclusters/definition.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,14 @@ spec:
description: >-
Civo Kubernetes (k3s) version. Civo requires an exact
version string including the k3s build suffix (e.g.
1.34.1-k3s1); list current versions with civo kubernetes
1.36.0-k3s1); list current versions with civo kubernetes
versions. Choose 1.34 or newer so Dynamic Resource
Allocation (how GPUs bind to pods) is generally available.
Defaults to Civo's current default version.
Allocation (how devices bind to pods) is generally
available, and 1.36 or newer for a CPU pool: its cores are
claimed as consumable capacity, which Kubernetes enables by
default from 1.36 (DRAConsumableCapacity). Defaults to
Civo's current default version, which may be older than a
CPU pool needs.
minLength: 1
maxLength: 32
credentials:
Expand Down Expand Up @@ -110,10 +114,13 @@ spec:
Determines what workloads this pool runs. System
pools host controllers, gateways, and infrastructure.
GPU pools host inference workloads and are tainted to
exclude non-GPU pods.
exclude non-GPU pods. CPU pools host CPU inference
workloads: a non-GPU size and the modelplane.ai/cpu
label and taint.
enum:
- System
- GPU
- CPU
size:
type: string
description: >-
Expand Down
5 changes: 4 additions & 1 deletion apis/eksclusters/definition.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,13 @@ spec:
Determines what workloads this group runs. System
groups host controllers, gateways, and infrastructure.
GPU groups host inference workloads and use a
GPU-enabled AMI.
GPU-enabled AMI. CPU groups host CPU inference
workloads: a standard AMI, no GPU, and the
modelplane.ai/cpu label and taint.
enum:
- System
- GPU
- CPU
instanceType:
type: string
description: >-
Expand Down
5 changes: 4 additions & 1 deletion apis/gkeclusters/definition.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,13 @@ spec:
Determines what workloads this pool runs. System pools
host controllers, gateways, and infrastructure. GPU
pools host inference workloads and are tainted to
exclude non-GPU pods.
exclude non-GPU pods. CPU pools host CPU inference
workloads: a standard node image, no GPU, and the
modelplane.ai/cpu label and taint.
enum:
- System
- GPU
- CPU
machineType:
type: string
description: >-
Expand Down
Loading
Loading