NPD needs an integration test tier that contributors can run locally
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- gcp, go, kubernetes
- 領域
- devops, testing-qa
調査の方向性
既存の make e2e-test エントリポイントから始め、GCP、イメージ、ゾーン、SSH キーに関する要件を追跡します。--apiserver-override がどのように処理されるかを確認し、固定したログファイルと fake apiserver を使ったプロセスレベルのテストを計画した後、DaemonSet のライフサイクルと NodeCondition の遷移を対象とする KIND のカバレッジを追加します。完了の条件は、両方の層がローカルで実行され、説明されているイベント、条件、クリーンアップをアサートすることです。
索引モデルが issue の本文から書いたものです。
説明
We should add a test tier between unit tests and the GCE suite that can be run locally.
NPD currently has two test tiers:
- Unit tests
- GCE e2e tests (Prow)
The e2e suite today only asserts against a local metrics endpoint on a GCE VM; yet, we cannot easily run the same functionality locally. This is because make e2e-test requires a GCP project, a zone, an image, and SSH keys. Not all important behaviors are unit-testable, and having the ability to run e2e tests locally will help author better improvements to NPD.
We should have two additional forms of testing to enable local e2e testing:
| Form | What it covers | Sketch |
|---|---|---|
| Process-level | log parsing through condition/event | run NPD against fixed log files and assert emitted events against a local fake apiserver ( via --apiserver-override) |
| KIND | DaemonSet lifecycle, NodeCondition transitions | run NPD as a DaemonSet in a KIND cluster and inject faults, assert conditions and cleanup on shutdown |
This pattern is the standard in other Kubernetes repositories. Kubernetes has an integration test tier and only merges PRs when unit, integration, and e2e tests all pass (https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/testing.md). Furthermore, cert-manager and cilium run KIND-based e2e locally as well.
Together with #1328, this allows extensive coverage of NPD behavior before reaching a VM.
/sig node
/kind cleanup
- 主要言語
- Go
- スター
- 3.5k
- フォーク
- 704
- 平均マージ
- 12時間 21分
- マージ済み PR(30日)
- 3
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
kubernetes/node-problem-detector のほかの issue
-
Flag --enable-k8s-exporter=false causes loss of /healthz, /conditions, and /debug/pprof endpointsオープン
難易度 4/5 3〜5日 初心者へのやさしさ 56/100
kubernetes/node-problem-detector#1332 ·
-
NPD needs significant unit test coverage再び着手できるかも @DigitalVeer が 62 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンkind/cleanup sig/node
kubernetes/node-problem-detector#1328 · コメント 2 件 · 担当者 1 名 ·
-
kind/bug
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
kubernetes/node-problem-detector#1176 · コメント 7 件 ·
-
kind/feature lifecycle/frozen
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
kubernetes/node-problem-detector#1112 · コメント 8 件 ·
-
Networking probesオープン
難易度 5/5 1週間以上 初心者へのやさしさ 32/100
kubernetes/node-problem-detector#991 · コメント 23 件 · リアクション 5 件 ·
kubernetes/node-problem-detector の issue をすべて見る
似ている issue
-
Remove CAAPFオープンkind/chore kind/cleanup needs-area
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
rancher/turtles#2848 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
priority: low 🌱 type: enhancement 💅🏼
難易度 2/5 半日 初心者へのやさしさ 84/100
nebari-dev/llm-serving-pack#199 ·
メンテナーはふだん 3 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
kedacore/keda#8225 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信