[Bug]: a partially specified NVIDIADriver startupProbe renders zeros instead of operator defaults
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 67/100
Direzione di ricerca
Start in internal/state/driver.go at getDriverSpec and compare its startup probe handling with setContainerProbe in controllers/object_controls.go. Run the internal/state unit tests and inspect the rendered DaemonSet in manifests/state-driver/0500_daemonset.yaml. Done means a partially specified probe preserves user-set values and uses operator defaults for the remaining fields.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
When an NVIDIADriver CR sets spec.startupProbe but leaves some fields unset, the GPU Operator renders explicit zeros for those fields into the driver DaemonSet, so the driver startup window collapses to the generic Kubernetes probe defaults instead of the operator's intended values.
getDriverSpec (internal/state/driver.go) applies getDefaultStartupProbe only when spec.StartupProbe == nil:
if spec.StartupProbe == nil {
spec.StartupProbe = getDefaultStartupProbe(spec)
}
If the CR specifies the probe partially (for example startupProbe: {initialDelaySeconds: 120}), the unset fields stay zero, and manifests/state-driver/0500_daemonset.yaml renders failureThreshold: 0, periodSeconds: 0, timeoutSeconds: 0, successThreshold: 0. The API server then substitutes the generic defaults (failureThreshold 3, periodSeconds 10, timeoutSeconds 1) rather than the operator defaults (failureThreshold 120, timeoutSeconds 60). A driver that compiles for more than ~30s, or whose nvidia-smi probe takes longer than 1s, is then killed and restarted in a loop.
The ClusterPolicy path does not have this problem: setContainerProbe (controllers/object_controls.go) overlays only the non-zero user fields on top of the defaults. The two paths disagree.
To Reproduce
Apply an NVIDIADriver CR whose spec.startupProbe sets only initialDelaySeconds (any single field), and inspect the rendered driver DaemonSet: the other probe fields are 0.
Reproduced with a unit test over getDriverSpec: a CR with StartupProbe{InitialDelaySeconds: 120} yields failureThreshold 0 / periodSeconds 0 / timeoutSeconds 0 / successThreshold 0 instead of the operator defaults.
Expected behavior
A partially specified startupProbe keeps the fields the user set and falls back to the operator defaults for the rest, as the ClusterPolicy path already does.
Environment (please provide the following information):
- GPU Operator Version: present in v26.7.2 and on
main(internal/state/driver.gohas no overlay for a partial probe); reproduced onmain - OS: N/A for the reproduction (unit test, macOS arm64, Go 1.26)
- Kernel Version: N/A (not run on a cluster)
- Container Runtime Version: N/A (not run on a cluster)
- Kubernetes Distro and Version: N/A (not run on a cluster; reproduced with the
internal/stateunit tests)
A fix is in the linked PR.
- Lingua principale
- Go
- Stelle
- 2.9k
- Fork
- 587
- Merge medio
- 2g 2h
- PR unite (30g)
- 62
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NVIDIA/gpu-operator
-
feature lifecycle/frozen needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
NVIDIA/gpu-operator#3074 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: GPUCluster common name label breaks DRA validator selectorForse già presa @ajavanma l’ha presa 38 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
NVIDIA/gpu-operator#2955 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: GPUCluster DRA kubelet plugin uses driver root / on Talos and cannot find libnvidia-ml.so.1Forse già presa @roma5087 l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
NVIDIA/gpu-operator#3139 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Helm chart always sets NVIDIADriver spec.manager.image, so a default driver-manager bump reinstalls the driver on every GPU nodeForse già presa @akshat-lakhera l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
NVIDIA/gpu-operator#3135 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: v26.7.x labels sandbox nodes with the `container` workload despite `sandboxWorkloads.defaultWorkload=vm-passthroughForse già presa @JunAr7112 l’ha presa 2 giorni fa. Apertabug needs-triage
NVIDIA/gpu-operator#3131 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di NVIDIA/gpu-operator
Issue simili
-
bug from-studio
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
esengine/DeepSeek-Reasonix#14868 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
project-zot/zot#4636 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
keyxmakerx/Chronicle#1911 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
eugenioenko/ttt#1293 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
needs/area needs/kind needs/priority
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno