NPD needs an integration test tier that contributors can run locally
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
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
- Lingua principale
- Go
- Stelle
- 3.5k
- Fork
- 704
- Merge medio
- 12h 21m
- PR unite (30g)
- 3
Preparare l'ambiente
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 kubernetes/node-problem-detector
-
Flag --enable-k8s-exporter=false causes loss of /healthz, /conditions, and /debug/pprof endpointsAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
kubernetes/node-problem-detector#1332 ·
-
NPD needs significant unit test coverageForse di nuovo libera @DigitalVeer l’ha presa 64 giorni fa e non c’è nessuna pull request aperta. Apertakind/cleanup sig/node
kubernetes/node-problem-detector#1328 · 2 commenti · 1 assegnatario ·
-
kind/bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
kubernetes/node-problem-detector#1176 · 7 commenti ·
-
kind/feature lifecycle/frozen
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
kubernetes/node-problem-detector#1112 · 8 commenti ·
-
Networking probesAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 32/100
kubernetes/node-problem-detector#991 · 23 commenti · 5 reazioni ·
Tutte le issue di kubernetes/node-problem-detector
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
gruntwork-io/boilerplate#329 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
prime-radiant-inc/evener#3291 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Netcracker/qubership-apihub-backend#582 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno