Repository navigation
docs(evidence): GB300 OKE training (oci-managed) - #3755
Conversation
Signed-off-by: Marcus Sorensen <msorensen@nvidia.com>
Recipe evidence checkProtected recipesRecipes with committed evidence (
How to refresh evidenceRun on a cluster matching the recipe's aicr snapshot -o snapshot.yaml
# Profiled families (AKS/GKE gpuStack): hydrate the recipe with the
# pointer's recorded 'profile:' selection first — validating the raw
# overlay resolves only the declaration default, and 'aicr validate'
# has no --profile flag. AKS additionally needs the pool projection
# (GKE uses the plain snapshot above):
# az aks nodepool list -g <rg> --cluster-name <cluster> -o json > pools.json
# aicr snapshot --aks-gpu-pools pools.json -o snapshot.yaml
# aicr recipe -s snapshot.yaml --intent <intent> [--platform <platform>] \
# --profile <name>=<value> -o recipe.yaml
# State the target leaf's intent/platform explicitly (the snapshot
# fingerprint supplies service/accelerator/OS but intent and platform
# default to 'any') and pass -r recipe.yaml below instead of the raw
# overlay.
aicr validate \
-r recipes/overlays/<slug>.yaml \
-s snapshot.yaml \
--emit-attestation ./out \
--push ghcr.io/<your-fork>/aicr-evidence
# Copy to the per-source path printed in the emit 'copyTo' hint:
# recipes/evidence/<slug>/<source>/<bundle-digest>.yamlThis gate is warning-only and never blocks merge. See ADR-007 for the trust model. |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
Signed-off-by: Marcus Sorensen <msorensen@nvidia.com>
Coverage Report ✅
Coverage BadgeNo Go source files changed in this PR. |
njhensley
left a comment
There was a problem hiding this comment.
Review — PR #3755 docs(evidence): GB300 OKE training (oci-managed)
Method: quick; 1 persona pass (correctness/API contract + evidence supply-chain trust), adjudicated by the parent in a separate adversarial pass against head a644bea. The later head 957e7cb only republishes the bundle to the author's public ghcr namespace and updates the pointer, which resolves the anonymous-pull (HTTP 401) warning the evidence check raised at a644bea. Only one reviewer was used, so this review has less independence than a full panel. Target was 10 minutes; it ran somewhat over.
Tier legend: 🔴 Blocker · 🟠 Major · 🟡 Minor · 🔵 Nitpick · ✅ Confirmed non-issue
Prior-feedback status
There are no human reviews. Bot feedback at the current head:
| Disposition | Prior finding | Current evidence |
|---|---|---|
| Acknowledged | CodeRabbit: no actionable comments | — |
Overall assessment — Approve
The PR adds one community evidence pointer for gb300-oke-ubuntu-training under gpuStack=oci-managed, the signer's allowlist entry keyed by source slug, and the regenerated index entry. The pointer, slug, allowlist entry and index are consistent with each other and with existing profiled pointers. No defects survived adjudication.
✅ Confirmed non-issues
- Source slug derivation.
sha256("https://github.com/login/oauth\n1047709+mlsorensen@users.noreply.github.com")[:32]=a5460c0aead783a8b1316659e75e7acc. That matches the directory name, theallowlist.yamlentry and thepointers.yamlentry. - OAuth issuer under
community. Five existing community entries already usehttps://github.com/login/oauth. The allowlist rules only require slug-anchored or tightly bounded entries. - Recipe id and profile.
RecipeNameFor(pkg/evidence/attestation/builder.go) appendsgpustack-<value>to the criteria-derived name.recipes/overlays/gb300-oke-ubuntu-training.yamldeclaresgpuStack=oci-managed. - Pointer schema. It has the same fields and shape as the existing profiled pointers (
schemaVersion: 1.0.0,profile: gpuStack=<value>, predicaterecipe-evidence/v3, a single attestation). - Index ordering. The new entry sits in sorted position between
gb300-nvke-ubuntu-training-kubeflowandh100-aks-ubuntu-inference-dynamo, withclass: community. - Identity in the pointer file. It is a GitHub noreply address, as in the other OAuth pointers. The allowlist stays slug-only, with a non-PII
label. - Provenance claim. The source commit
ae0da5818cited in the PR description (#3748) is onmain.
Coverage and limitations
- Inspected at the pinned head: all three changed paths, plus the allowlist header rules, the existing pointers in
recipes/evidence/, the overlay, and the recipe-name builder. - Executed:
go run ./tools/evidence-pointercheck -root <PR tree>/recipes/evidenceexited 0. This rules out path-ownership and allowlist-membership violations. - Not executed:
aicr evidence verifyagainst the bundle, because it cannot be pulled anonymously; the signature, Rekor entry and recipe identity are unverified here.TestPointersYAMLMatchesTreeon the PR tree; ordering was checked by hand instead.
- Taken from the PR description and not verified: the cluster facts, the NCCL numbers, and the claim that
make qualifypassed.
Summary
| Tier | Count | Items |
|---|---|---|
| 🔴 Blocker | 0 | — |
| 🟠 Major | 0 | — |
| 🟡 Minor | 0 | — |
| 🔵 Nitpick | 0 | — |
Recommendation: approve. Two things remain outside this PR. The NVIDIA/aicr-evidence package's internal visibility blocks anonymous verification for this pointer and four existing ones (see the bot check), and the branch is behind main and needs a rebase before it can merge.
Summary
Adds signed community evidence for
gb300-oke-ubuntu-trainingundergpuStack=oci-managed(GB300 NVL72,BM.GPU.GB300.4, OKE), the signer's allowlist entry, and the regenerated pointer index. This is the first OCI evidence in the repository.Motivation / Context
Evidence for the OKE GB300 training recipe merged in #3706, generated from
mainafter the merge. It replaces #3532, which was captured from the pre-merge recipe.Fixes: N/A
Related: #3440
Type of Change
Component(s) Affected
cmd/aicr,pkg/cli)cmd/aicrd,pkg/server)pkg/recipe)pkg/bundler,pkg/component)pkg/collector,pkg/snapshotter)pkg/validator)pkg/errors,pkg/k8s)docs/,examples/)recipes/evidence/,pkg/evidence/index/pointers.yamlImplementation Notes
mainatae0da58180d27b7bed54631429ebf8b25668b465(feat(recipes): add gb300-nvke training and inference leaves #3748), the firstmaincommit after feat(recipes)!: add GB300 OKE recipe; harden OKE container toolkit #3706 with published validator images. TheaicrCLI, recipe and bundle all come from that commit.main. The bundle attests to the recipe atae0da5818; the only change since that reaches this recipe is feat(nvsentinel): add opt-in CSP Health Monitor mixins, STORE_ONLY #3687's addedcsp-health-monitorassertions in NVSentinel's health check, for a component off in every shipped recipe.ghcr.io/nvidia/aicr-validators/{deployment,conformance,performance}:sha-ae0da58180d27b7bed54631429ebf8b25668b465, published frommain; no mutable tags.ko(the repository's base image and user 65532) and pushed toghcr.io/mlsorensen/aicr:main-ae0da5818@sha256:e09b045c9b6a1b326aecf9056811ab296a950929cf8a3987e1c34eac2bc17be4. No published agent image contains theK8s.oke-gpu-pluginandOS.kmod-paramcollectors yet: agent images are published at release tags, andv1.2.0predates feat(recipes)!: add GB300 OKE recipe; harden OKE container toolkit #3706.oci-managedrecipe resolution needs theoke-gpu-pluginreading.BM.GPU.GB300.4on OKE, Kubernetes 1.36.4, Flannel pod networking, Oracle's 6.17-kernel GB300 image (driver 595.112.07, DOCA 3.5.0, RDMA subsystem in shared network namespace mode),NvidiaGpuPluginadd-on withdeviceListStrategy=volume-mounts. Recipe hydrated from the snapshot with--intent training --profile gpuStack=oci-managed; bundle with no--setoverrides, deployed with itsdeploy.sh.ghcr.io/mlsorensen/aicr-evidence:gb300-oke-ubuntu-training-gpustack-oci-managed-95a59187166b(sha256:99b1833d…, a public package), keyless-signed (GitHub OAuth issuer), Rekor log index 193163255. The signer's new source slug is added toallowlist.yamlundercommunity.cluster-autoscalingis skipped (no Karpenter; OKE is not a recognized platform for that check). NCCL all-reduce bus bandwidth: NET 376.4 GB/s (floor 300), NVLS 909.3 GB/s (floor 700).Testing
make qualify go run ./tools/evidence-pointercheck -root recipes/evidence go test ./pkg/evidence/... -count=1 aicr evidence verify recipes/evidence/gb300-oke-ubuntu-training-gpustack-oci-managed/a5460c0aead783a8b1316659e75e7acc/sha256-99b1833dcfe318f1b7f6385ecce100ac94e3ecfbc26fa3570ff2035f3794487b.yamlmake qualifypasses; the pointer contract check is OK; evidence tests pass;evidence verifyreports the bundle valid (signature, predicate, manifest hash, and recipe identity verified).Risk Assessment
Rollout notes: N/A
Checklist
make testwith-race)make lint)git commit -s -S) — GPG signing info