NVIDIA / NVIDIA/nvcf

nvca-operator: helm upgrade --reuse-values can pin the operator image to a stale tag

Open
#1,246 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
218
Forks
72
Avg merge
1d 12h
Merged PRs (30d)
427

Description

Summary

helm upgrade --reuse-values against the nvca-operator chart can leave the
operator, mirror, and cluster-validator containers running a stale image tag
even though helm list and the chart NOTES report the new chart/app version.

Root cause

templates/deployment.yaml (and cronjob.yaml, pre-delete-cleanup-job.yaml)
resolve the image tag as:

image: {{ .Values.image.repository }}:{{ default .Chart.Version .Values.image.tag }}

helm upgrade --reuse-values carries the previous release's fully-resolved
values.yaml forward, but never re-merges the new chart's Chart.yaml. If
any prior release ever published a chart where image.tag resolved to a
non-empty literal, that literal is retained on every later --reuse-values
upgrade regardless of what the newly published chart's own image.tag
default says.

Fix

Resolve the image tag through .Chart.AppVersion instead of
.Chart.Version. Chart.yaml (including appVersion) is never part of a
--reuse-values merge -- only values.yaml is -- so this fallback stays
correct on every future upgrade, not just on a fresh install.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect templates/deployment.yaml, cronjob.yaml, and pre-delete-cleanup-job.yaml, starting with how each resolves the image tag during helm upgrade --reuse-values. Verify that the operator, mirror, and cluster-validator images use the current chart app version after a reuse-values upgrade, while helm list and the chart NOTES remain consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
devops, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.