Skip to content

[gpu-op] NVIDIADriver ignores spec.gds.imagePullPolicy #3200

Closed

Description

@rahulait

NVIDIADriver accepts spec.gds.imagePullPolicy, but the rendered GDS container (nvidia-fs-ctr) always uses IfNotPresent.

Steps to reproduce

  1. Configure a NVIDIADriver with GDS enabled and a non-default image pull policy:

    spec:
      gds:
        enabled: true
        repository: nvcr.io/nvidia/cloud-native
        image: nvidia-fs
        version: "2.29.4"
        imagePullPolicy: Always
  2. Inspect the generated driver DaemonSet's nvidia-fs-ctr container.

Expected behavior

The container uses the configured policy:

imagePullPolicy: Always

Actual behavior

The container uses:

imagePullPolicy: IfNotPresent

The NVIDIADriver DaemonSet template hardcodes this value.

This also affects imagePullPolicy: Never. The requested policy is silently ignored, potentially changing registry access and cached-image behavior when containers start.

Verification

Verified through manifest rendering against main at 6532a331b5907ecd6a99c3714ef2b922427a6888:

Configured policy Rendered GDS policy
Omitted IfNotPresent
IfNotPresent IfNotPresent
Always IfNotPresent
Never IfNotPresent

Controls confirmed that:

  • The equivalent GDS configuration through ClusterPolicy preserves Always and Never.
  • NVIDIADriver's GDRCopy container preserves its configured image pull policy.

Suggested fix

Render spec.gds.imagePullPolicy for the GDS container, retaining IfNotPresent when the setting is omitted.

Add regression coverage for omitted, IfNotPresent, Always, and Never values.

Activity

  1. added
    good-first-issueIssues that are friendly to new contributors
    and removed
    needs-triageissue or PR has not been assigned a priority-px label
    on Nov 9, 2026
  2. Ajax-1 commented on Nov 10, 2026

    @Ajax-1
    Contributor

    I've opened #3216 for this. It renders {{ default "IfNotPresent" .GDS.Spec.ImagePullPolicy }} for nvidia-fs-ctr, the same way the GDRCopy container does, and adds a render test covering omitted, IfNotPresent, Always and Never. Happy to adjust if needed.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    good-first-issueIssues that are friendly to new contributors

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions