Skip to content

feat(templates): add RPM support to NVIDIA driver#676

Merged
ArangoGutierrez merged 2 commits intoNVIDIA:mainfrom
ArangoGutierrez:rpm-support/nvidia-driver
Feb 18, 2026
Merged

feat(templates): add RPM support to NVIDIA driver#676
ArangoGutierrez merged 2 commits intoNVIDIA:mainfrom
ArangoGutierrez:rpm-support/nvidia-driver

Conversation

@ArangoGutierrez
Copy link
Copy Markdown
Collaborator

Summary

  • Add OS-family branching to all 3 NVIDIA driver sub-templates (package, runfile, git)
  • Debian path: linux-headers, build-essential, CUDA keyring .deb, = version pinning
  • RPM path: kernel-devel, gcc/gcc-c++, CUDA .repo via curl, - version pinning
  • Dynamic CUDA architecture detection (aarch64 → sbsa mapping)
  • Uses pkg_update abstraction consistently across all branches

Part of #569 (Epic: Support RPM-Based Distributions)

Test plan

  • All existing nv-driver tests pass
  • New tests: OSFamilyBranching for package, runfile, git templates
  • New tests: RPM kernel headers, RPM build deps, CUDA repo RPM setup
  • go test ./pkg/provisioner/templates/ -count=1 passes
  • E2E validation on Rocky Linux / Amazon Linux instance

Copilot AI review requested due to automatic review settings February 18, 2026 14:27
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds RPM-based distribution support to the NVIDIA driver provisioning templates, enabling Holodeck to work with distributions like Rocky Linux, Amazon Linux, RHEL, and Fedora alongside existing Debian/Ubuntu support.

Changes:

  • Added OS-family detection and branching logic to package, runfile, and git driver installation templates
  • Implemented RPM-specific package management (kernel-devel, gcc-c++, dnf) alongside existing Debian patterns (linux-headers, build-essential, apt)
  • Added CUDA repository setup for RPM distributions with distro-specific mapping logic

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
pkg/provisioner/templates/nv-driver.go Added OS family branching (debian vs amazon/rhel) to all three driver templates with RPM package names, CUDA repo setup via .repo files, and RPM version pinning syntax
pkg/provisioner/templates/nv-driver_test.go Added comprehensive test coverage for RPM support including OS family branching, kernel headers, build dependencies, and CUDA repository setup

Add OS-family branching to all three driver templates (package, runfile,
git) so they work on RPM-based distributions (Rocky Linux 9, Amazon
Linux 2023, Fedora, RHEL 9) in addition to Debian/Ubuntu.

Key changes per template section:
- Kernel headers: linux-headers -> kernel-devel + kernel-headers (RPM)
- Build deps: build-essential/libelf-dev/libglvnd-dev ->
  elfutils-libelf-devel/mesa-libEGL-devel/gcc-c++ (RPM)
- CUDA repo: .deb keyring -> .repo file with distro mapping
  (rhel9/fedora/amzn->rhel9)
- Package versioning: =VERSION (apt) vs -VERSION (dnf)
- Package cache: apt-get update -> pkg_update (RPM)

Follows the established pattern from containerd.go using
case "${HOLODECK_OS_FAMILY}" in debian|amazon|rhel branching.

Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
@ArangoGutierrez ArangoGutierrez force-pushed the rpm-support/nvidia-driver branch from 209930c to caf03ac Compare February 18, 2026 14:51
&>/dev/null already redirects both stdout and stderr; the extra 2>&1
is a no-op. Flagged by Copilot review.

Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
@coveralls
Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 22147036492

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 48.227%

Totals Coverage Status
Change from base Build 22139342884: 0.0%
Covered Lines: 2612
Relevant Lines: 5416

💛 - Coveralls

@ArangoGutierrez ArangoGutierrez merged commit 1c2fff6 into NVIDIA:main Feb 18, 2026
20 checks passed
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.

3 participants