Skip to content

[Bug]: Cannot use custom repoConfig together with RHEL host subscription repositories after #2391 #2817

Closed

Description

@dl-mai

Describe the bug

On RHEL nodes we use the GPU Operator with a custom driver.repoConfig
ConfigMap to provide additional package repositories required by the NVIDIA
driver installation.

At the same time, we rely on the RHEL subscription configuration from the
host for the standard RHEL BaseOS/AppStream repositories.

Before #2391, the driver pod received the RHEL host subscription mounts:

  • /etc/pki/entitlement
  • /etc/yum.repos.d/redhat.repo
  • /etc/rhsm

With #2391, enabling repoConfig causes these host subscription mounts to be
skipped completely:

if cr.Spec.IsRepoConfigEnabled() && pool.osRelease == "rhel" {
    logger.Info("Skipping host subscription mounts because repoConfig is enabled", ...)
} else {
    pathToVolumeSource, err = getSubscriptionPathsToVolumeSources(pool.osRelease)
    ...
}

This makes repoConfig mutually exclusive with the RHEL subscription
repositories.

Expected behavior

repoConfig should allow adding custom repositories while still allowing the
driver container to use the RHEL subscription repositories from the host.

In our environment we need both:

Host RHEL subscription
  ├── BaseOS
  └── AppStream

Custom repoConfig
  └── additional repository (e.g. CUDA/internal repository)

The custom repository does not replace the RHEL repositories.

Actual behavior

As soon as driver.repoConfig is configured, the RHEL host subscription
mounts are omitted.

The driver container consequently cannot access packages that are only
available through the RHEL repositories.

For example, driver installation fails with:

dnf install -y --releasever=9 elfutils-libelf-devel.x86_64

No match for argument: elfutils-libelf-devel.x86_64
Error: Unable to find a match: elfutils-libelf-devel.x86_64
FATAL: failed to install elfutils-libel-devel.
RHEL entitlement may be improperly deployed.

The same package can be resolved successfully on the RHEL host using its
subscription repositories.

If repoConfig is removed, the Operator mounts the host RHEL subscription
configuration again and the RHEL repositories are available.

Why #2391 causes a regression for this use case

I understand that #2391 addresses air-gapped RHEL installations where
redhat.repo and/or RHSM paths might not exist and a custom repoConfig
completely replaces the distribution repositories.

However, repoConfig does not necessarily mean that the user wants to
replace the RHEL repositories.

There are two valid configurations:

  1. Fully air-gapped:
    repoConfig replaces all package repositories.

  2. Additional repositories:
    RHEL subscription repositories + repoConfig.

After #2391 only case 1 is possible.

Suggested solution

Do not automatically disable RHEL subscription mounts merely because
repoConfig is configured.

Alternatively, provide an explicit option, for example:

driver:
  repoConfig:
    configMapName: custom-repos
    disableSubscriptionMounts: false

This could default appropriately for backwards compatibility / air-gapped
installations.

Another possibility would be a separate option controlling host subscription
mounts:

driver:
  useHostSubscription: true

This would allow users to explicitly choose between:

repoConfig only

and:

repoConfig + host RHEL subscription

Environment

Activity

  1. added
    bugIssue/PR to expose/discuss/fix a bug
    needs-triageissue or PR has not been assigned a priority-px label
    on Aug 27, 2026
  2. rahulait commented on Aug 28, 2026

    @rahulait
    Contributor

    Thanks @dl-mai for the report. We'll take a look.

  3. rahulait commented on Sep 15, 2026

    @rahulait
    Contributor

    Hi @dl-mai, can you try with this image and see if it fixes your issue?

    You can create values.yaml with required settings and can also specify useHostSubscription: true to use hostSubscription.

    driver:
      repoConfig:
        configMapName: custom-repos
        useHostSubscription: true
    

    Install gpu-operator with the fix:

    helm install gpu-operator -n gpu-operator --create-namespace oci://ghcr.io/nvidia/gpu-operator/charts/gpu-operator:0.0.0-git-3c174b29 -f values.yaml
    

    Let me know if this fixes your issue.

  4. removed
    needs-triageissue or PR has not been assigned a priority-px label
    on Sep 15, 2026
  5. dl-mai commented on Sep 17, 2026

    @dl-mai
    Author

    Hi @rahulait ,
    We just tested the Helm chart you provided and used the new value for HostSubscription. The issue is fixed and the driver-daemonset ran successfully.

    Thank you!

  6. modified the milestone: v26.7.2 on Oct 3, 2026
  7. added this to the v26.7.3 milestone on Oct 23, 2026
  8. rahulait commented on Oct 23, 2026

    @rahulait
    Contributor

    Hi @dl-mai , thank you for your patience on this issue. We had internal discussions and ended up reverting the commit which introduced the regression and fixed it with a different fix. Fix link: #3109. So no additional setting should be required on your end. We'll backport the fix in 26.7.3 in coming weeks.

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

Metadata

Metadata

Assignees

Labels

bugIssue/PR to expose/discuss/fix a bug

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions