Skip to content

Add DOCA OFED provider compatibility overlay#1

Merged
viniciusferrao merged 10 commits intomasterfrom
initial-doca-overlay
Apr 12, 2026
Merged

Add DOCA OFED provider compatibility overlay#1
viniciusferrao merged 10 commits intomasterfrom
initial-doca-overlay

Conversation

@viniciusferrao
Copy link
Copy Markdown
Member

@viniciusferrao viniciusferrao commented Apr 11, 2026

Summary

  • Replace the legacy MLNX_OFED patcher content with a DOCA OFED compatibility overlay builder for EL8, EL9, and EL10.
  • Build a separate docaofed-provider-compat RPM that restores EFA and mlx4 libibverbs registration files and provider ABI symlinks without repacking NVIDIA RPMs.
  • Tie the generated RPM to the exact installed libibverbs and rdma-core EVRs so it is rebuilt after DOCA OFED updates.
  • Add validated support baselines for DOCA latest and DOCA latest-3.2-LTS.
  • Add public DOCA RPM layout verification that discovers all published EL architecture directories, plus a libvirt VM validation harness and a GitHub Actions verification workflow.
  • Add a scheduled upstream watcher that checks the DOCA root index for every repository directory beginning with latest.
  • Automatically layout-verify newly discovered latest* repositories before opening the upstream issue; compatible additions keep the workflow green, incompatible additions fail the workflow.
  • Add scheduled layout watchers for each supported baseline and open an issue when NVIDIA changes the package layout.
  • Make VM validation version-adaptive so supported repositories can be tested without hardcoded package EVRs or provider ABI values.

Validation

  • sh -n build-docaofed-provider-compat.sh
  • sh -n tests/check-upstream-doca-layout.sh
  • sh -n tests/check-upstream-doca-repositories.sh
  • sh -n tests/verify-doca-rpm-layout.sh
  • sh -n testing/libvirt/remote-doca-vm-test.sh
  • VERIFY_NEW_REPOSITORIES=1 tests/check-upstream-doca-repositories.sh
  • Simulated new-repository path: DOCA_RHEL_RELEASES=8 DOCA_ARCHES=x86_64 VERIFY_NEW_REPOSITORIES=1 COMPATIBLE_ADDITIONS_EXIT_CODE=10 EXPECTED_REPOSITORIES=<without latest-3.2-LTS> tests/check-upstream-doca-repositories.sh returned 10 after auto-verifying latest-3.2-LTS.
  • tests/verify-doca-rpm-layout.sh
  • REPOSITORY_LABEL='DOCA latest' DOCA_REPO_ROOT=https://linux.mellanox.com/public/repo/doca/latest EXPECTED_LAYOUT=tests/doca-latest-supported.tsv sh tests/check-upstream-doca-layout.sh
  • REPOSITORY_LABEL='DOCA 3.2 LTS' DOCA_REPO_ROOT=https://linux.mellanox.com/public/repo/doca/latest-3.2-LTS EXPECTED_LAYOUT=tests/doca-3.2-lts-supported.tsv sh tests/check-upstream-doca-layout.sh
  • DOCA_RHEL_RELEASES='8 9 10' DOCA_ARCHES='x86_64 ppc64le' tests/verify-doca-rpm-layout.sh
  • DOCA_REPO_ROOT=https://linux.mellanox.com/public/repo/doca/latest-3.2-LTS tests/verify-doca-rpm-layout.sh
  • ruby -e 'require "yaml"; YAML.load_file(ARGV.fetch(0))' .github/workflows/verify.yml
  • ruby -e 'require "yaml"; YAML.load_file(ARGV.fetch(0))' .github/workflows/watch-upstream.yml
  • git diff --check
  • DOCA root latest* repository index: latest, latest-1.5-LTS, latest-2.5-LTS, latest-2.9-LTS, latest-3.2-LTS
  • DOCA latest EL8/EL9/EL10 repository layout: arm64-sbsa, ppc64le, sbsa-arm64, x86_64, libibverbs-2601.0.7, rdmav59
  • DOCA latest-3.2-LTS EL8/EL9/EL10 repository layout: arm64-sbsa, ppc64le, sbsa-arm64, x86_64, libibverbs-2510.0.11, rdmav57
  • EL8 x86_64 libvirt VM validation against DOCA latest on rome01: DOCA_COMPAT_TEST_RESULT PASS el8
  • EL9 x86_64 libvirt VM validation against DOCA latest on rome01: DOCA_COMPAT_TEST_RESULT PASS el9
  • EL10 x86_64 libvirt VM validation against DOCA latest on rome01: DOCA_COMPAT_TEST_RESULT PASS el10
  • EL8 ppc64le libvirt VM validation against DOCA latest on power: DOCA_COMPAT_TEST_RESULT PASS el8
  • EL9 ppc64le libvirt VM validation against DOCA latest on power: DOCA_COMPAT_TEST_RESULT PASS el9
  • EL10 ppc64le libvirt VM validation against DOCA latest on power: DOCA_COMPAT_TEST_RESULT PASS el10
  • EL8 x86_64 libvirt VM validation against DOCA latest-3.2-LTS on rome01: DOCA_COMPAT_TEST_RESULT PASS el8
  • EL9 x86_64 libvirt VM validation against DOCA latest-3.2-LTS on rome01: DOCA_COMPAT_TEST_RESULT PASS el9
  • EL10 x86_64 libvirt VM validation against DOCA latest-3.2-LTS on rome01: DOCA_COMPAT_TEST_RESULT PASS el10
  • EL8 ppc64le libvirt VM validation against DOCA latest-3.2-LTS on power: DOCA_COMPAT_TEST_RESULT PASS el8
  • EL9 ppc64le libvirt VM validation against DOCA latest-3.2-LTS on power: DOCA_COMPAT_TEST_RESULT PASS el9
  • EL10 ppc64le libvirt VM validation against DOCA latest-3.2-LTS on power: DOCA_COMPAT_TEST_RESULT PASS el10

ARM repository payloads are layout-validated only; no ARM VM host was available for end-to-end install testing.

@viniciusferrao viniciusferrao merged commit b3538d8 into master Apr 12, 2026
1 check passed
@viniciusferrao viniciusferrao deleted the initial-doca-overlay branch April 12, 2026 02:06
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