Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

NPD needs an integration test tier that contributors can run locally

Aperta
#1,331 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
gcp, go, kubernetes
Ambito
devops, testing-qa

Direzione di ricerca

Inizia dall'entry point esistente make e2e-test e ricostruisci i suoi requisiti relativi a GCP, immagini, zone e chiavi SSH. Leggi come viene gestito --apiserver-override, quindi pianifica test a livello di processo con file di log fissi e un fake apiserver, seguiti dalla copertura KIND per il ciclo di vita di DaemonSet e le transizioni di NodeCondition. Il lavoro è completato quando entrambi i livelli vengono eseguiti localmente e verificano gli eventi, le condizioni e la pulizia descritti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

kind/cleanup sig/node

We should add a test tier between unit tests and the GCE suite that can be run locally.


NPD currently has two test tiers:

  1. Unit tests
  2. 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

Lingua principale
Go
Stelle
3.5k
Fork
704
Merge medio
12h 21m
PR unite (30g)
3

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di kubernetes/node-problem-detector

Tutte le issue di kubernetes/node-problem-detector

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.