Ejecución y verificación
Opera el console VM autohospedado como un componente privilegiado del host KVM. La salud del contenedor sola no basta: verifica la ruta desde navegador a API a libvirt al guest.
Comprobación de arranque
docker compose -f docker-compose.self-hosted.yml ps
docker compose -f docker-compose.self-hosted.yml logs --tail=200 backend frontend
virsh -c qemu:///system list --allLuego confirma que la UI carga y la respuesta de modo del backend reporta modo autohospedado. Revisa su mapa de features en lugar de asumir que una feature hosted está presente.
Prueba de humo de extremo a extremo
Usa un ISO de prueba desechable y con licencia:
- sube el ISO y verifica su tamaño y nombre mostrados;
- crea una VM pequeña con CPU, memoria, disco y red explícitos;
- arráncala y abre el console VNC;
- confirma que el progreso de arranque es visible y la entrada de teclado llega al guest;
- detén la VM;
- elimínala y confirma que su dominio, overlays y NVRAM temporal se limpian;
- reinicia el backend y confirma que ningún lanzamiento de reemplazo obsoleto queda bloqueado.
No interpretes un arranque exitoso como certificación de hardware, corrección de aplicación, cumplimiento de parches ni prueba de que un instalador terminó.
Señales operativas
Monitoriza al menos:
- alcance del frontend y la API;
- conectividad libvirt del backend;
- memoria y espacio en disco libres del host;
- subidas fallidas y errores de lanzamiento de guest;
- dominios guest, overlays, NVRAM e inventario de red;
- el journal de limpieza persistente bajo
TEST_STORAGE_DIR; - bucles de reinicio de contenedor y excepciones del backend.
El archivo Compose de evaluación no configura un sistema de alertas externo.
Fallos habituales
| Síntoma | Comprobar |
|---|---|
Permiso denegado en /dev/kvm | Membresía de grupo del host y mapeo de dispositivo; no hagas el dispositivo world-writable |
| No se puede conectar a libvirt | Estado del daemon, ruta del socket, KVM_URI y montaje del contenedor |
| Subida rechazada | Tipo de archivo, espacio libre, permisos del directorio de imágenes y límite de tamaño configurado |
| El guest no abre imagen fuente | Identidad de ruta absoluta host/contenedor y permiso de lectura |
| VNC se desconecta | Estado del guest, endpoint gráfico libvirt, ruta de proxy y diagnósticos del console del navegador |
| El lanzamiento de reemplazo sigue bloqueado | Journal de limpieza persistido, recursos obsoletos de dominio/overlay/NVRAM y logs del backend |
Apagado
Detén o elimina guests desechables en la UI antes de parar la pila. Luego ejecuta:
docker compose -f docker-compose.self-hosted.yml downInventaria dominios libvirt, imágenes, redes y el volumen con nombre después. Detener contenedores no elimina automáticamente todo recurso del host.