Skip to content
Open
Show file tree
Hide file tree
Changes from 7 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
28 changes: 19 additions & 9 deletions docs/design/015-recipe-configuration-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,9 @@ target state, gated by this rule.

```yaml
# recipes/overlays/gke-cos.yaml — device-plugin ownership
# Shown with the post-DD5 value set. DD5's durable marker, not yet
# identified, will additionally land as symmetric constraints on
# operator and operator-selfdriver at that event — the constraints
# drawn here are therefore not yet the declarable post-DD5 state.
# Shown with the post-DD5 value set as drawn. Amended 2026-08-24:
# operator-selfdriver shipped as bundle-installer, REPLACING operator
# (shipped driver-installer) — see the Deferred Decision 5 resolution.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
spec:
profile:
name: gpuStack
Expand Down Expand Up @@ -277,7 +276,9 @@ spec:
componentRefs:
- name: gcp-driver-installer
overrides:
install: true # the chart-level gate
# Shipped as nested installer.enabled — top-level install is a
# component-presence gate and deadlocks profile resolution.
installer: {enabled: true}
Comment thread
yuanchen8911 marked this conversation as resolved.
- name: gpu-operator
overrides:
devicePlugin: {enabled: true}
Expand All @@ -297,9 +298,10 @@ step 2 describes. Selection:
# gke-default (declared default; drawn above as csp-managed) — no flag needed
aicr recipe --service gke --os cos --accelerator h100 --intent inference

# explicit alternative configuration (shipped name; drawn above as operator)
# explicit alternative configuration (shipped name; drawn above as
# operator-selfdriver)
aicr recipe --service gke --os cos --accelerator h100 --intent inference \
--profile gpuStack=driver-installer
--profile gpuStack=bundle-installer
```

A profile fragment may reference only components **enabled in the
Expand Down Expand Up @@ -1457,6 +1459,9 @@ recurrence — the shape the Problem section expects.
installer's synthetic `enabled` joins `ownedPaths`), which is a
family-wide re-qualification and evidence re-signing event.

*Amended 2026-08-24 (#1716):* shipped as `bundle-installer`, replacing
`driver-installer` (breaking; same pool shape — see Deferred Decision 5).

Any dcgm-exporter GPU-ID-mapping adjustment for `csp-managed` is an
external GKE behavior not verifiable from this repository. It is
verified and added during this step if required, with upstream
Expand Down Expand Up @@ -1495,8 +1500,8 @@ work that resolves it.
GKE's managed driver install, so the standalone gate's prerequisite
needed the profile's per-value pairing), and the GKE `gpuStack`
profile now consumes the form per selected value (#1761 rollout
PR 3): positive for `driver-installer`, negated for the
`gke-default` default.
PR 3): positive for `driver-installer` (since replaced by
`bundle-installer`), negated for the `gke-default` default.
3. **AKS node-pool-mode signal — resolved by the 2026-07-27 amendment.**
The provider-facing AgentPool `gpuProfile.driver` property is the
durable ownership marker. AKS adoption projects it into a snapshot
Expand All @@ -1522,3 +1527,8 @@ work that resolves it.
absence, so the two values stay mutually distinguishable.
**Proposed: identify a durable signal during the value's adoption;
the `operator` and `csp-managed` values do not wait on it.**

*Resolved 2026-08-24 (#1716): no signal was needed* — the value shipped
as `bundle-installer`, replacing `operator` (shipped `driver-installer`);
with the same-shaped sibling gone, the family is distinguishable at
generation time by the opt-out pool label alone.
2 changes: 1 addition & 1 deletion docs/integrator/automation.md
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ are not time-bounded and persist until `Client.Close()` is called.
> family (profiled and unprofiled) with the same criteria parameters, plus
> optional `profile=gpuStack=azure-managed` or
> `profile=gpuStack=operator-managed` on AKS, and
> `profile=gpuStack=gke-default` or `profile=gpuStack=driver-installer`
> `profile=gpuStack=gke-default` or `profile=gpuStack=bundle-installer`
> on GKE
> (see [GKE GPU Setup](gke-gpu-setup.md#gpu-device-plugin-ownership)).
> `/v1/recipe` still works for unprofiled compositions but rejects any
Expand Down
2 changes: 1 addition & 1 deletion docs/integrator/data-extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ When in doubt, `aicr --debug recipe ... --data <dir>` logs the resolved source
`recipes/overlays/aks.yaml` declares the `gpuStack` configuration profile
(`azure-managed` default, `operator-managed` alternative) over the GPU driver/toolkit
ownership paths, and `recipes/overlays/gke-cos.yaml` declares its own `gpuStack`
(`gke-default` default, `driver-installer` alternative) over device-plugin ownership —
(`gke-default` default, `bundle-installer` alternative) over device-plugin ownership —
the GKE default value (`gke-default`) additionally declares
`advertiser: external`, and both GKE values trigger the #1327
allocation-policy closure, so their effective lock set is larger than the
Expand Down
Loading
Loading