Skip to content

fix: install mstflint to config daemon image#133

Merged
almaslennikov merged 1 commit intoMellanox:masterfrom
almaslennikov:mstflint-fix-master
Jan 16, 2026
Merged

fix: install mstflint to config daemon image#133
almaslennikov merged 1 commit intoMellanox:masterfrom
almaslennikov:mstflint-fix-master

Conversation

@almaslennikov
Copy link
Collaborator

it's required for mlxfwreset to work properly

it's required for mlxfwreset to work properly

Signed-off-by: Alexander Maslennikov <amaslennikov@nvidia.com>
@almaslennikov almaslennikov merged commit ce5f644 into Mellanox:master Jan 16, 2026
5 of 6 checks passed
@github-actions
Copy link

Thanks for your PR,
To run vendors CIs, Maintainers can use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs, Maintainers can use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

@greptile-apps
Copy link

greptile-apps bot commented Jan 16, 2026

Greptile Summary

Added mstflint package installation to both STIG and Nvidia Dockerfiles to provide the mlxfwreset binary required for Mellanox firmware reset operations.

  • Installed mstflint package via apt to provide mlxfwreset binary and its dependencies
  • Added deletion of original mstconfig and mstfwreset binaries from mstflint before creating symlinks
  • Symlinks now point to the MFT (Mellanox Firmware Tools) versions of mlxconfig and mlxfwreset for consistency
  • Changes ensure mlxfwreset command succeeds when called from pkg/vendors/mellanox/mellanox.go:188

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The change adds a missing dependency (mstflint) that provides required binaries for firmware operations. The implementation properly handles potential conflicts by removing duplicate binaries before creating symlinks to the MFT versions. The change is straightforward, well-commented, and addresses a specific functional requirement.
  • No files require special attention

Important Files Changed

Filename Overview
Dockerfile.sriov-network-config-daemon-stig Added mstflint package to provide mlxfwreset binary, with symlink creation to maintain compatibility
Dockerfile.sriov-network-config-daemon.nvidia Added mstflint package to provide mlxfwreset binary, with symlink creation to maintain compatibility

Sequence Diagram

sequenceDiagram
    participant Build as Build Stage
    participant Dockerfile as Dockerfile (STIG/Nvidia)
    participant APT as APT Package Manager
    participant MFT as Mellanox Firmware Tools
    participant Runtime as Runtime Container
    
    Build->>Dockerfile: Build sriov-network-config-daemon binary
    Dockerfile->>APT: Install hwdata, pciutils, curl, mstflint
    APT-->>Dockerfile: Packages installed (mlxfwreset provided by mstflint)
    Dockerfile->>MFT: Download and install MFT package
    MFT-->>Dockerfile: Install MFT tools (mlxconfig, mlxfwreset from MFT)
    Dockerfile->>Dockerfile: Remove /usr/bin/mstconfig
    Dockerfile->>Dockerfile: Remove /usr/bin/mstfwreset
    Note over Dockerfile: Remove mstflint versions to avoid conflicts
    Dockerfile->>Dockerfile: ln -s $(which mlxconfig) /usr/bin/mstconfig
    Dockerfile->>Dockerfile: ln -s $(which mlxfwreset) /usr/bin/mstfwreset
    Note over Dockerfile: Symlinks point to MFT versions
    Dockerfile->>Runtime: Copy binary and start container
    Runtime->>Runtime: Execute mstfwreset for firmware reset operations
Loading

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.

1 participant