chore(recipes): bump aws-efa to v0.5.29, align image tag to appVersion#1418
Conversation
Recipe evidence check
Affected leaf overlays: 63
How to refresh evidenceRun on a cluster matching the recipe's aicr snapshot -o snapshot.yaml
aicr validate \
-r recipes/overlays/<slug>.yaml \
-s snapshot.yaml \
--emit-attestation ./out \
--push ghcr.io/<your-fork>/aicr-evidence
cp ./out/pointer.yaml recipes/evidence/<slug>.yamlThis gate is warning-only and never blocks merge. See ADR-007 for the trust model. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
- registry.yaml: aws-efa-k8s-device-plugin defaultVersion v0.5.26 -> v0.5.29. - overlays/eks.yaml: bump the explicit aws-efa version pin v0.5.26 -> v0.5.29. The eks base overlay pins the version (overriding the registry default), and aws-efa is EKS-only — so without this the bump never reached real consumers (a100-eks-*, gb200-eks-*, eks-training, eks-inference, ...). - values.yaml: image tag override v0.5.18 -> v0.5.20 (chart v0.5.29 appVersion), so the rendered image matches the chart instead of drifting behind it. - Regenerated docs/user/container-images.md BOM (v0.5.29 / image v0.5.20).
3ec9185 to
52caa94
Compare
Re-validated gb200-eks-ubuntu-training on a GB200 EKS cluster (all phases passed) after the aws-efa v0.5.29 / eks-pin bump (NVIDIA#1418) changed the rendered recipe digest to 5177d2ed. Updates the evidence pointer to the freshly signed bundle so the recipe-evidence drift gate no longer reports it stale. Signed bundle: ghcr.io/yuanchen8911/aicr-evidence:gb200-eks-ubuntu-training-a3fe1a7e7bcb Rekor log index: 1930094136
Re-validated both recipes after the aws-efa v0.5.29 / eks-pin bump (NVIDIA#1418) changed their rendered digests, and refreshed the evidence pointers to the freshly signed bundles so the recipe-evidence drift gate no longer reports them stale. - gb200-eks-ubuntu-training: GB200 EKS, all phases passed; bundle ghcr.io/yuanchen8911/aicr-evidence:gb200-eks-ubuntu-training-a3fe1a7e7bcb (rekorLogIndex 1930094136) - h100-gke-cos-training: H100 GKE/COS, all phases passed (NCCL 338 GB/s); bundle ghcr.io/yuanchen8911/aicr-evidence:h100-gke-cos-training-ee1657fedd59 (rekorLogIndex 1931193974)
Re-validated both recipes after the aws-efa v0.5.29 / eks-pin bump (NVIDIA#1418) changed their rendered digests, and refreshed the evidence pointers to the freshly signed bundles so the recipe-evidence drift gate no longer reports them stale. - gb200-eks-ubuntu-training: GB200 EKS, all phases passed; bundle ghcr.io/yuanchen8911/aicr-evidence:gb200-eks-ubuntu-training-a3fe1a7e7bcb (rekorLogIndex 1930094136) - h100-gke-cos-training: H100 GKE/COS, all phases passed (NCCL 338 GB/s); bundle ghcr.io/yuanchen8911/aicr-evidence:h100-gke-cos-training-ee1657fedd59 (rekorLogIndex 1931193974)
The container-images BOM renders each chart at its registry defaultVersion, but at resolution that default is only a fallback: a componentRef version/tag pin in base.yaml, an overlay, or a mixin overrides it. So the BOM reflects what recipes install only when no pin diverges. A pin that drifts from the default (most dangerously on a component whose sole consumer diverges) makes the BOM advertise a version no recipe installs -- the #1418 aws-efa class of bug. Add TestOverlayVersionPinsMatchRegistry: every base/overlay/mixin componentRefs version/tag must equal the component's registry default unless declared in versionPinExemptions with a justification. Runs under make test -> make qualify. Fails on undeclared drift, stale exemptions, and vacuous discovery. Each exemption binds a single divergence via expectedPin/expectedDefault: if either the recipe pin or the registry default later moves, the guard fails so the divergence is re-reviewed rather than a new, unvetted version silently inheriting the old blessing. Fix the one live divergence it caught: base.yaml pinned nvsentinel v1.3.0 while the registry default (and BOM) advertised v1.9.0 -- every recipe shipped v1.3.0. Align base to v1.9.0 so reality matches the BOM. Record the intentional aks kube-prometheus-stack 83.7.0 divergence (#700) as an exemption. Document the single-source version model in docs/contributor/recipe.md. Fixes: #1424 Signed-off-by: Mark Chmarny <[email protected]>
The container-images BOM renders each chart at its registry defaultVersion, but at resolution that default is only a fallback: a componentRef version/tag pin in base.yaml, an overlay, or a mixin overrides it. So the BOM reflects what recipes install only when no pin diverges. A pin that drifts from the default (most dangerously on a component whose sole consumer diverges) makes the BOM advertise a version no recipe installs -- the #1418 aws-efa class of bug. Enforce both halves of #1424's acceptance: - TestOverlayVersionPinsMatchRegistry (pkg/recipe): every base/overlay/mixin componentRefs version/tag must equal the component's registry default unless declared in versionPinExemptions with a justification. Each exemption binds one divergence via expectedPin/expectedDefault, so a later move of either the pin or the default re-triggers review. Fails on undeclared drift, stale exemptions, and vacuous discovery. - TestCommittedBOMVersionsMatchRegistry (tools/bom): the committed docs/user/container-images.md version column must match the registry pins. This catches a coordinated bump (registry + pins moved together) that forgot make bom-docs -- which the recipe guard alone would pass. Version-only diff, no Helm rendering, runs under make test. Both run under make test -> make qualify. Fix the one live divergence caught: base.yaml pinned nvsentinel v1.3.0 while the registry default (and BOM) advertised v1.9.0 -- every recipe shipped v1.3.0. Align base to v1.9.0 so reality matches the BOM. Record the intentional aks kube-prometheus-stack 83.7.0 divergence (#700) as an exemption. Document the single-source version model and the two gates in docs/contributor/recipe.md. Fixes: #1424 Signed-off-by: Mark Chmarny <[email protected]>
The container-images BOM renders each chart at its registry defaultVersion, but at resolution that default is only a fallback: a componentRef version/tag pin in base.yaml, an overlay, or a mixin overrides it. So the BOM reflects what recipes install only when no pin diverges. A pin that drifts from the default (most dangerously on a component whose sole consumer diverges) makes the BOM advertise a version no recipe installs -- the #1418 aws-efa class of bug. Enforce both halves of #1424's acceptance: - TestOverlayVersionPinsMatchRegistry (pkg/recipe): every base/overlay/mixin componentRefs version/tag must equal the component's registry default unless declared in versionPinExemptions with a justification. Each exemption binds one divergence via expectedPin/expectedDefault, so a later move of either the pin or the default re-triggers review. It also resolves every overlay and fails if an exemption's registry default is installed by no recipe (the sole-consumer policy). Fails on undeclared drift, stale/unsafe exemptions, and vacuous discovery. - TestCommittedBOMVersionsMatchRegistry (tools/bom): the committed docs/user/container-images.md version column must match the registry pins. This catches a coordinated bump (registry + pins moved together) that forgot make bom-docs -- which the recipe guard alone would pass. Version-only diff, no Helm rendering, runs under make test. Both run under make test -> make qualify. Fix the one live divergence caught: base.yaml pinned nvsentinel v1.3.0 while the registry default (and BOM) advertised v1.9.0 -- every recipe shipped v1.3.0. Align base to v1.9.0 so reality matches the BOM. Record the intentional aks kube-prometheus-stack 83.7.0 divergence (#700) as an exemption. Realign stale pins in examples/recipes/{eks-training,aks-training, eks-gb200-ubuntu-training-with-validation}.yaml to resolved output (gpu-operator v26.3.2, nvsentinel v1.9.0, AKS kube-prometheus-stack 83.7.0), preserving their curated form. Document the single-source version model and the two gates in docs/contributor/recipe.md. Fixes: #1424 Signed-off-by: Mark Chmarny <[email protected]>
The container-images BOM renders each chart at its registry defaultVersion, but at resolution that default is only a fallback: a componentRef version/tag pin in base.yaml, an overlay, or a mixin overrides it. So the BOM reflects what recipes install only when no pin diverges. A pin that drifts from the default (most dangerously on a component whose sole consumer diverges) makes the BOM advertise a version no recipe installs -- the #1418 aws-efa class of bug. Enforce both halves of #1424's acceptance: - TestOverlayVersionPinsMatchRegistry (pkg/recipe): every base/overlay/mixin componentRefs version/tag must equal the component's registry default unless declared in versionPinExemptions with a justification. Each exemption binds one divergence via expectedPin/expectedDefault, so a later move of either the pin or the default re-triggers review. It also resolves every overlay and fails if an exemption's registry default is installed by no recipe (the sole-consumer policy). Fails on undeclared drift, stale/unsafe exemptions, and vacuous discovery. - TestCommittedBOMVersionsMatchRegistry (tools/bom): the committed docs/user/container-images.md version column must match the registry pins. This catches a coordinated bump (registry + pins moved together) that forgot make bom-docs -- which the recipe guard alone would pass. Version-only diff, no Helm rendering, runs under make test. Both run under make test -> make qualify. Fix the one live divergence caught: base.yaml pinned nvsentinel v1.3.0 while the registry default (and BOM) advertised v1.9.0 -- every recipe shipped v1.3.0. Align base to v1.9.0 so reality matches the BOM. Record the intentional aks kube-prometheus-stack 83.7.0 divergence (#700) as an exemption. Realign stale pins in examples/recipes/{eks-training,aks-training, eks-gb200-ubuntu-training-with-validation}.yaml to resolved output (gpu-operator v26.3.2, nvsentinel v1.9.0, AKS kube-prometheus-stack 83.7.0), preserving their curated form. Document the single-source version model and the two gates in docs/contributor/recipe.md. Fixes: #1424 Signed-off-by: Mark Chmarny <[email protected]>
Summary
Bump the
aws-efadevice plugin to current upstream (chartv0.5.29) and fix a chart-vs-image version drift: the image tag override invalues.yamlwas pinned behind the chart (v0.5.18while chart wasv0.5.26). Align the image to the pinned chart's appVersion (v0.5.20).Motivation / Context
While investigating GB300 EFAv4 readiness (the public
p6e-gb300fabric is EFA; the RoCEp6e-gb300ris DGXC-internal — see #1410), found two issues with theaws-efacomponent:aws/eks-chartsis at chartv0.5.29/ appVersionv0.5.20).v0.5.18invalues.yamlwhile the registry pinned chartv0.5.26(appVersionv0.5.20) — so the rendered image lagged the chart.Keeping the public EFA device-plugin path current matters for the documented P6/P6e EFA family (H100/GB200/B200) and for eventual public GB300 EFAv4. Note: the primary version dependency for new EFA hardware is the host EFA kernel driver / EKS AMI, not this k8s device plugin (which just discovers present EFA devices and advertises
vpc.amazonaws.com/efa).Fixes: N/A
Related: #1410
Type of Change
Component(s) Affected
pkg/recipe)docs/,examples/)Implementation Notes
recipes/registry.yaml:aws-efa-k8s-device-plugindefaultVersionv0.5.26->v0.5.29.recipes/components/aws-efa/values.yaml: imagetagv0.5.18->v0.5.20(the appVersion of chart v0.5.29), with a comment tying the override to the chart's appVersion.docs/user/container-images.md: regenerated BOM (make bom-docs).v0.5.20is the declared appVersion of chartv0.5.29(from upstreamChart.yaml). Direct ECR tag verification was blocked by an expired SSO session at authoring time; the value is the chart's canonical appVersion and the AWS regional ECR mirrors upstream device-plugin releases.Testing
Recipe/YAML/docs-only change (no Go source touched). BOM diff confirms the coherent bump: chart
v0.5.26->v0.5.29, imagev0.5.18->v0.5.20.Risk Assessment
Rollout notes: Standard chart/image bump; no migration. EFA recipes re-render with the newer plugin on next bundle.
Checklist
make bom-docs)