Skip to content

feat: dpf: Sync to VR0.6 nightly#3302

Open
abvarshney-nv wants to merge 1 commit into
NVIDIA:mainfrom
abvarshney-nv:0.6_nightly_sync
Open

feat: dpf: Sync to VR0.6 nightly#3302
abvarshney-nv wants to merge 1 commit into
NVIDIA:mainfrom
abvarshney-nv:0.6_nightly_sync

Conversation

@abvarshney-nv

@abvarshney-nv abvarshney-nv commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

DPF nightly commit version: 84bc3187cfdae715e862e2af9356cfac5689265d

As per DPF team, current nightly does not break 26.4 API (except DpfOperatorConfig, which is not handled by NICo). This is the only way as of now to test BF4 with NICO.

Next PR will contain the changes to introduce BluefieldSoftware along with bfb_url. For BF4, bfb_url is not used, but BluefieldSoftware field is used.

Related issues

Type of Change

  • Add - New feature or capability
  • Change - Changes in existing functionality
  • Fix - Bug fixes
  • Remove - Removed features or deprecated functionality
  • Internal - Internal changes (refactoring, tests, docs, etc.)

Breaking Changes

  • This PR contains breaking changes

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • No testing required (docs, internal refactor, etc.)

Additional Notes

@copy-pr-bot

copy-pr-bot Bot commented Jul 9, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

An error occurred during the review process. Please try again later.

Summary by CodeRabbit

  • New Features

    • Added support for a new DPU lifecycle state so firmware update activity is shown as provisioning.
    • Improved handling of pinned DOCA versions during setup, allowing a specific revision to be used.
  • Bug Fixes

    • Status output now shows a clean default value when BFB is missing.
    • Updated DPU and deployment handling to better match the current platform schema, improving compatibility.
    • Refreshed test helpers and initialization behavior to reflect the latest object shapes.

Walkthrough

This PR pins the DOCA source repository to a specific commit in the DPF build config and updates DPF SDK, flavor, harness, and type code to match newly optional/added fields in CRD-generated structs (bfb, flavor, DpuFlavorSpec, DpuDeviceSpec, DpuStatus, service templates, interfaces), including test and helper adjustments and a new DpuStatusPhase mapping.

Changes

DOCA Source Pinning

Layer / File(s) Summary
DOCA repo/commit pin and clone task update
crates/dpf/Makefile.toml
Adds DOCA_COMMIT alongside DOCA_REPO_URL/DOCA_BRANCH pointing at NVIDIA/doca-platform, and updates clone-doca to conditionally clone by branch or by exact commit checkout.

CRD-Generated Struct Shape Alignment

Layer / File(s) Summary
DpuPhase mapping for UpdateFirmware
crates/dpf/src/types.rs
Adds a match arm converting DpuStatusPhase::UpdateFirmware into DpuPhase::Provisioning("UpdateFirmware".into()).
DpuFlavorSpec and config file field updates
crates/dpf/src/flavor.rs
flavor_bf4/default_flavor set new DpuFlavorSpec fields to None; get_config_files entries change path to a direct String and add content_from/r#type as None; tests updated to match.
SDK service template, deployment, interface, and device builders
crates/dpf/src/sdk.rs
build_service_template, build_deployment, build_service_interface, register_dpu_device, register_dpu_node, and create_initialization_objects set newly optional fields and remove an obsolete operator-config patch.
Outdated DPU detection, snapshot, and status logging bfb handling
crates/dpf/src/sdk.rs, crates/dpf/src/bin/api_harness.rs
find_outdated_dpus_dpf, snapshot_host, and status logging use unwrap_or_default() for optional bfb/flavor fields.
Test helpers, mocks, and SDK unit tests
crates/dpf/src/sdk.rs, crates/dpf/src/test/helpers.rs, crates/dpf/src/test/sdk_initialization.rs
Test helpers and mock patch handlers construct DpuSpec/DpuStatus/DpuDeviceSpec with new optional fields and Some-wrapped bfb.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

  • NVIDIA/infra-controller#3195: Both PRs modify crates/dpf/src/flavor.rs, specifically the BF4 flavor construction and the generated DpuFlavorSpec/config_files shape.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@abvarshney-nv abvarshney-nv marked this pull request as ready for review July 9, 2026 13:51
@abvarshney-nv abvarshney-nv requested a review from a team as a code owner July 9, 2026 13:51
DPF nightly commit version: 84bc3187cfdae715e862e2af9356cfac5689265d
@abvarshney-nv

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

🔍 Container Scan Summary

Service Total Critical High Medium Low Other
boot-artifacts-aarch64 3 0 0 3 0 0
boot-artifacts-x86_64 3 0 0 3 0 0
forge-admin-cli-x86_64 271 13 34 91 7 126
machine-validation-runner 800 37 234 291 43 195
machine_validation 800 37 234 291 43 195
machine_validation-aarch64 800 37 234 291 43 195
nvmetal-carbide 800 37 234 291 43 195
TOTAL 3477 161 970 1261 179 906

Per-CVE detail lives in the per-service grype-* artifacts (JSON + SARIF). Severity counts only — no CVE IDs published here.

@ajf

ajf commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

What if this code runs on a DPF that's not upgraded to 84bc3187cfdae715e862e2af9356cfac5689265d?

@ajf

ajf commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

You said that DPF is backward compatible, but NICo needs to be Forward compatible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants