NPD needs an integration test tier that contributors can run locally
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- gcp, go, kubernetes
- Área
- devops, testing-qa
Línea de trabajo
Comienza con el punto de entrada existente make e2e-test y sigue sus requisitos de GCP, imágenes, zonas y claves SSH. Lee cómo se gestiona --apiserver-override y, a continuación, planifica pruebas a nivel de proceso con archivos de registro fijos y un fake apiserver, seguidas de cobertura con KIND para el ciclo de vida de DaemonSet y las transiciones de NodeCondition. Se considera terminado cuando ambos niveles se ejecutan localmente y verifican los eventos, las condiciones y la limpieza descritos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Go
- Estrellas
- 3.5k
- Forks
- 704
- Merge medio
- 12 h 21 min
- PR fusionados (30 d)
- 3
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de kubernetes/node-problem-detector
-
Flag --enable-k8s-exporter=false causes loss of /healthz, /conditions, and /debug/pprof endpointsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
kubernetes/node-problem-detector#1332 ·
Los mantenedores suelen responder en 1 día
-
NPD needs significant unit test coverageQuizá libre de nuevo @DigitalVeer la tomó hace 62 días y no hay ningún pull request abierto. Abiertokind/cleanup sig/node
kubernetes/node-problem-detector#1328 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
kind/bug
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
kubernetes/node-problem-detector#1176 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
kind/feature lifecycle/frozen
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
kubernetes/node-problem-detector#1112 · 8 comentarios ·
Los mantenedores suelen responder en 1 día
-
Networking probesAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
kubernetes/node-problem-detector#991 · 23 comentarios · 5 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de kubernetes/node-problem-detector
Issues similares
-
priority: low 🌱 type: enhancement 💅🏼
Dificultad 2/5 Medio día Aptitud para principiantes 84/100
nebari-dev/llm-serving-pack#199 ·
Los mantenedores suelen responder en 3 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
area/helm kind/bug priority/backlog triage/accepted
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
lexfrei/cloudflare-tunnel-gateway-controller#889 ·
Los mantenedores suelen responder en 1 día
-
bug difficulty: beginner documentation good first issue help wanted localization
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
wavefnd/wave-platform#140 ·
-
compiler/runtime
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
golang/go#81797 · 1 comentario ·
Los mantenedores suelen responder en 1 día