Skip to content

Commit 4565274

Browse files
committed
docs(adr): condense the bundle-installer amendments
Reduce the ADR-015 edits to the minimal decision-record changes: the Deferred Decision 5 resolution note, its short adoption-step counterpart, a one-line sketch-preamble redirect, and the gate-key correction where the sketch showed a pattern that deadlocks profile resolution. Cosmetic shipped-name annotations and example-command renames are dropped — an ADR records decisions, not running commentary. Signed-off-by: Atif Mahmood <atif1996@users.noreply.github.com>
1 parent 16d007b commit 4565274

1 file changed

Lines changed: 17 additions & 39 deletions

File tree

docs/design/015-recipe-configuration-profiles.md

Lines changed: 17 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,9 @@ target state, gated by this rule.
213213

214214
```yaml
215215
# recipes/overlays/gke-cos.yaml — device-plugin ownership
216-
# Shown with the value set as originally drawn. Amended 2026-08-24: the
217-
# family ships as gke-default plus bundle-installer — the drawn
218-
# operator-selfdriver, which REPLACED the operator value (shipped
219-
# v0.19.0 as driver-installer). The two shipped values differ in the
220-
# opt-out pool label at generation time, so Deferred Decision 5 needed
221-
# no durable marker.
216+
# Shown with the post-DD5 value set as drawn. Amended 2026-08-24:
217+
# operator-selfdriver shipped as bundle-installer, REPLACING operator
218+
# (shipped driver-installer) — see the Deferred Decision 5 resolution.
222219
spec:
223220
profile:
224221
name: gpuStack
@@ -279,13 +276,8 @@ spec:
279276
componentRefs:
280277
- name: gcp-driver-installer
281278
overrides:
282-
# Amended 2026-08-24: shipped as the nested installer.enabled,
283-
# not the top-level `install` drawn here — top-level
284-
# `install`/`enabled` are component-PRESENCE gates (IsEnabled),
285-
# so a false default would make the component "not enabled in
286-
# the surviving composition" and deadlock resolution for every
287-
# value; root `overrides.enabled` is separately rejected in
288-
# fragments. A nested key is an ordinary owned value path.
279+
# Shipped as nested installer.enabled — top-level install is a
280+
# component-presence gate and deadlocks profile resolution.
289281
installer: {enabled: true}
290282
- name: gpu-operator
291283
overrides:
@@ -306,10 +298,9 @@ step 2 describes. Selection:
306298
# gke-default (declared default; drawn above as csp-managed) — no flag needed
307299
aicr recipe --service gke --os cos --accelerator h100 --intent inference
308300
309-
# explicit alternative configuration (shipped name; drawn above as
310-
# operator-selfdriver)
301+
# explicit alternative configuration (shipped name; drawn above as operator)
311302
aicr recipe --service gke --os cos --accelerator h100 --intent inference \
312-
--profile gpuStack=bundle-installer
303+
--profile gpuStack=driver-installer
313304
```
314305

315306
A profile fragment may reference only components **enabled in the
@@ -334,8 +325,7 @@ explicit toggles from changing the pre-existing presence state, with
334325
subset-filter semantics defined under Override locking.
335326

336327
**Conditional installation is expressible in v1 through a values-gated
337-
component** — the `operator-selfdriver` value above (shipped as
338-
`bundle-installer`) is the pattern.
328+
component** — the `operator-selfdriver` value above is the pattern.
339329
The component sits unconditionally in the composition and renders
340330
nothing unless its gate value is selected; the profile value flips a
341331
plain values path — owned, locked, and validated like any other —
@@ -1468,27 +1458,16 @@ recurrence — the shape the Problem section expects.
14681458
installer's synthetic `enabled` joins `ownedPaths`), which is a
14691459
family-wide re-qualification and evidence re-signing event.
14701460

1471-
*Amended 2026-08-24 (issue #1716).* The landing event shipped the value
1472-
as `bundle-installer`, **replacing** `driver-installer` rather than
1473-
joining it: the two named the same pool shape
1474-
(`gpu-driver-version=disabled` + the opt-out label), differing only in
1475-
who applied the installer DaemonSet — precisely Deferred Decision 5's
1476-
ambiguity, which the replacement resolves without any signal. The
1477-
shipped family is `gke-default` / `bundle-installer`, distinguished at
1478-
generation time by the pool label alone. Selecting
1479-
`gpuStack=driver-installer` fails closed with the valid-values list;
1480-
migration: delete any hand-applied `nvidia-driver-installer` DaemonSet
1481-
(the bundle's DaemonSet shares its name) and regenerate with
1482-
`--profile gpuStack=bundle-installer`.
1461+
*Amended 2026-08-24 (#1716):* shipped as `bundle-installer`, replacing
1462+
`driver-installer` (breaking; same pool shape — see Deferred Decision 5).
14831463

14841464
Any dcgm-exporter GPU-ID-mapping adjustment for `csp-managed` is an
14851465
external GKE behavior not verifiable from this repository. It is
14861466
verified and added during this step if required, with upstream
14871467
citations recorded in that PR. Before conversion, this step also
14881468
checks the family's `/v1` usage or announces a deprecation window so
14891469
clients do not discover the `/v1` rejection at cut-over.
1490-
4. Other consumers: once `operator-selfdriver` (shipped as
1491-
`bundle-installer`) is declared, internal
1470+
4. Other consumers: once `operator-selfdriver` is declared, internal
14921471
recipes (DGXC/NKX) migrate the cos-gpu-installer arrangement
14931472
(internal MR #27) to the public value. The values-gated
14941473
`gcp-driver-installer` component makes the case expressible without
@@ -1520,8 +1499,8 @@ work that resolves it.
15201499
GKE's managed driver install, so the standalone gate's prerequisite
15211500
needed the profile's per-value pairing), and the GKE `gpuStack`
15221501
profile now consumes the form per selected value (#1761 rollout
1523-
PR 3): positive for `driver-installer` (later `bundle-installer`),
1524-
negated for the `gke-default` default.
1502+
PR 3): positive for `driver-installer`, negated for the
1503+
`gke-default` default.
15251504
3. **AKS node-pool-mode signal — resolved by the 2026-07-27 amendment.**
15261505
The provider-facing AgentPool `gpuProfile.driver` property is the
15271506
durable ownership marker. AKS adoption projects it into a snapshot
@@ -1548,8 +1527,7 @@ work that resolves it.
15481527
**Proposed: identify a durable signal during the value's adoption;
15491528
the `operator` and `csp-managed` values do not wait on it.**
15501529

1551-
*Resolved 2026-08-24 (issue #1716): no signal was needed.* The value
1552-
shipped as `bundle-installer`, **replacing** `operator`
1553-
(shipped `driver-installer`) — the two named the same pool shape, and
1554-
with the sibling gone the family's values are mutually distinguishable
1555-
at generation time by the opt-out pool label alone.
1530+
*Resolved 2026-08-24 (#1716): no signal was needed* — the value shipped
1531+
as `bundle-installer`, replacing `operator` (shipped `driver-installer`);
1532+
with the same-shaped sibling gone, the family is distinguishable at
1533+
generation time by the opt-out pool label alone.

0 commit comments

Comments
 (0)