You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(helm): correct boot-artifacts mount path and remove readOnly (#2813)
<!-- Describe what this PR does -->
The helm charts mounted the boot-artifacts volume at
/boot-artifacts/blobs/internal
with readOnly: true on the main container. The Rust code hardcodes
/forge-boot-artifacts/blobs/internal (matching the forged kustomize
overlays
which work in production), and two code paths write into the directory
at runtime.
This caused DPU BFB recovery to fail on every helm-deployed site.
## Related issues
#2490
## Type of Change
- [ ] **Add** - New feature or capability
- [ ] **Change** - Changes in existing functionality
- [x] **Fix** - Bug fixes
- [ ] **Remove** - Removed features or deprecated functionality
- [ ] **Internal** - Internal changes (refactoring, tests, docs, etc.)
## Breaking Changes
- [ ] **This PR contains breaking changes**
## Testing
- [x] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Manual testing performed
- [ ] No testing required (docs, internal refactor, etc.)
## Additional Notes
Two bugs fixed, both caused by the helm chart diverging from the forged
kustomize overlays (the production reference implementation):
**1. Wrong mount path (`/boot-artifacts` → `/forge-boot-artifacts`)**
The Rust code hardcodes `/forge-boot-artifacts/blobs/internal` in three
places:
- `crates/preingestion-manager/src/bfb_rshim_copier.rs` —
`PREINGESTION_BFB_PATH` and `UNIFIED_PREINGESTION_BFB_PATH`
- `crates/machine-controller/src/handler.rs` — secure boot certificate
path
The forged kustomize overlay
(`components/boot-artifacts-containers/patch-boot-artifacts.yaml`) uses
the same path and works correctly in production. The helm chart used
`/boot-artifacts/blobs/internal`, causing a "No such file or directory"
error on every BFB copy attempt in helm-deployed sites.
**2. `readOnly: true` on a directory the code writes into**
The main container mount had `readOnly: true`. Two runtime code paths
write into this directory:
- BFB recovery writes `preingestion_unified_update.bfb` before streaming
it to the DPU BMC rshim
- Rack firmware update uses the directory as a download cache
All 35 helm unit tests pass.
0 commit comments