[Bug]: Precompiled node pools drop kernels that sanitize to the same name
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 20/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- go, kubernetes
調査の方向性
Read internal/state/nodepool.go and the existing TestGetSanitizedKernelVersion test. Run the reported command, go test -count=1 -run TestGetNodePoolsKeepsPrecompiledKernelsThatSanitizeTogether ./internal/state/, to see the failing case. Done means nodes with the same raw kernel share a pool, while kernels that sanitize to the same name get separate pools with their own selectors and image tags; a linked pull request is already open.
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
With spec.usePrecompiled: true, getNodePools keeps one node pool per sanitized kernel name. getSanitizedKernelVersion strips x86_64, aarch64, and an optional _64k. Two nodes whose raw feature.node.kubernetes.io/kernel-version.full values differ only by architecture or page size collapse into one pool.
The surviving pool's node selector and driver image tag use the first node's raw kernel. The other nodes get no driver DaemonSet. The NVIDIADriver can still become Ready.
This was found by reading internal/state/nodepool.go on main (operator v26.7.2). It is not a live cluster repro.
To reproduce
From the code path. TestGetSanitizedKernelVersion already expects these two strings to become 5.14.0-427.37.1.el9.4:
5.14.0-427.37.1.el9_4.x86_645.14.0-427.37.1.el9_4.aarch64
Put one GPU node on each kernel, with the same OS, under one NVIDIADriver that sets usePrecompiled: true.
On current main, getNodePools returns one pool. The unit test is:
go test -count=1 -run TestGetNodePoolsKeepsPrecompiledKernelsThatSanitizeTogether ./internal/state/
That test fails with 1 pool instead of 2.
Expected behavior
One pool per raw kernel. Nodes with the same raw kernel still share a pool. The sanitized name can stay shared. The selector and the image tag for each pool must keep that pool's own raw kernel.
I will open a pull request with that change.
- 主要言語
- Go
- スター
- 2.9k
- フォーク
- 576
- 平均マージ
- 1日 14時間
- マージ済み PR(30日)
- 69
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/gpu-operator のほかの issue
-
[Bug]: dcgm-exporter no longer gets hostNetwork when a host DCGM is set through dcgmExporter.env対応中かも @blacksoxx が 2 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
NVIDIA/gpu-operator#3091 ·
メンテナーはふだん 1 日以内に返信
-
feature lifecycle/frozen needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
NVIDIA/gpu-operator#3074 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: nvidia-validator waits the full timeout on a failed validation pod; loadPodSpec panics対応中かも @kvalliyurnatt が 2 日前に担当しました。 オープンbug needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
NVIDIA/gpu-operator#3065 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: GPUCluster common name label breaks DRA validator selector対応中かも @ajavanma が 29 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
NVIDIA/gpu-operator#2955 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: ClusterPolicy reconcile panics when a DaemonSet has no annotations対応中かも @SebTardif が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 25/100
NVIDIA/gpu-operator#3096 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
NVIDIA/gpu-operator の issue をすべて見る
似ている issue
-
bug triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mvanhorn/cli-printing-press#5146 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
AvengeMedia/DankMaterialShell#3853 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信