Guía de pruebas después de cambios¶
Esta guía define la secuencia recomendada de validación después de hacer cambios en este repositorio.
El objetivo es mantener un camino de pruebas consistente para que cambios en bootstrap, validación, rollback, cleanup, documentación o scripts auxiliares se revisen en un orden predecible.
Alcance¶
Usá esta guía después de cambios en:
scripts/bootstrap-k3s-stack.shscripts/validate-k3s-stack.shscripts/rollback-k3s-stack.shscripts/clean-k3s-stack.shtests/test-in-vm.shtests/test-in-docker.shutils/docs/Makefile
Secuencia recomendada¶
Ejecutá los checks en este orden.
1. Smoke test en Docker¶
Chequeo rápido de sanidad para el harness de bootstrap y el empaquetado del repositorio.
Qué cubre:
- contexto de build en Docker
- harness de smoke containerizado
- camino de dry-run del bootstrap
2. Test core en VM¶
Valida el camino mínimo de instalación con k3s y helm, sin forzar el stack opcional completo.
Qué cubre:
- provisión de la VM
- copia del repositorio dentro de la VM
- camino mínimo de instalación del bootstrap
- validación no estricta del perfil core
Resultado esperado:
- éxito con posibles warnings por componentes opcionales omitidos
3. Test full en VM¶
Valida el camino de instalación del stack completo.
Qué cubre:
k3shelmcert-managerLonghornRancher- registry interno
- configuración de NFS
- convergencia de validación estricta
Resultado esperado:
- éxito con
Failures: 0 - la validación estricta converge limpiamente
4. Test full-rollback¶
Valida el rollback guiado por manifiesto después de una instalación full.
Qué cubre:
- camino completo de bootstrap
- generación del plan de rollback
- aplicación del flujo de rollback
- remoción de componentes del stack instalados por la corrida de prueba
Resultado esperado:
- el rollback completa
- los namespaces y recursos cluster-scoped objetivo se eliminan como corresponde
- el artefacto de prueba termina con
status: "success" - los checks post-rollback confirman la remoción de:
cert-managerlonghorn-systemcattle-systemregistryselfsignedClusterIssuer- export NFS administrado por el bootstrap
- entradas
/etc/hostsadministradas por el bootstrap
5. Test full-clean¶
Valida la limpieza destructiva después de una instalación full.
Qué cubre:
- camino completo de bootstrap
- flujo de cleanup destructivo
- camino de uninstall/cleanup de
k3s
Resultado esperado:
- el cleanup completa
k3sya no está activo en la VM
6. Limpieza de VMs¶
Si quedan VMs de prueba, eliminarlas explícitamente.
Checks de seguimiento útiles:
Referencia rápida de Multipass¶
Este repositorio usa multipass sólo como harness de VM del lado host para pruebas de integración.
Los comandos mínimos que suelen necesitar los contribuidores son estos.
Verificar que Multipass está disponible¶
Usalo antes de arrancar pruebas basadas en VM.
multipass find --force-update es especialmente útil cuando Multipass falla al refrescar metadata de imágenes o al descargar una imagen de VM.
Ejecutar un perfil de prueba en VM¶
Perfil core:
Perfiles full:
./tests/test-in-vm.sh --platform ubuntu --image 24.04 --profile full
./tests/test-in-vm.sh --platform ubuntu --image 24.04 --profile full-rollback
./tests/test-in-vm.sh --platform ubuntu --image 24.04 --profile full-clean
Preservar una VM para inspección manual¶
Si querés que la VM de prueba quede viva después de la corrida:
Esto es útil cuando una prueba falla y querés inspeccionar la máquina manualmente.
Abrir una shell en una VM preservada¶
Checks típicos dentro de la VM:
Eliminar una VM preservada¶
Comando directo equivalente de multipass:
Eliminar todas las VMs de prueba creadas por este repositorio¶
Criterios de aprobación¶
Un cambio se considera validado cuando:
- la secuencia de pruebas relevante termina con éxito
- la validación del perfil full converge limpiamente
- las pruebas de rollback o clean pasan cuando el cambio toca la lógica de teardown
- la validación local sigue comportándose como se espera para cambios del lado host