Execução e verificação
Opere o console de VM self-hosted como componente privilegiado do host KVM. Saúde do container sozinha é insuficiente: verifique o caminho do navegador à API ao libvirt ao guest.
Checagem de startup
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 --allDepois confirme que a UI carrega e a resposta de mode do backend reporta mode self-hosted. Revise o mapa de features em vez de assumir que feature hospedada está presente.
Smoke test end-to-end
Use ISO de teste descartável e licenciado:
- envie o ISO e verifique tamanho e nome exibidos;
- crie VM pequena com CPU, memória, disco e rede explícitos;
- inicie e abra console VNC;
- confirme que progresso de boot é visível e input de teclado chega ao guest;
- pare a VM;
- delete e confirme que domínio, overlays e NVRAM temporário foram limpos;
- reinicie o backend e confirme que nenhum launch de replacement stale está bloqueado.
Não interprete boot bem-sucedido como certificação de hardware, correção de aplicativo, conformidade de patch ou prova de instalador concluído.
Sinais operacionais
Monitore pelo menos:
- reachability de frontend e API;
- conectividade libvirt do backend;
- memória e espaço em disco livres no host;
- uploads falhos e erros de launch de guest;
- domínios guest, overlays, NVRAM e inventário de rede;
- journal persistente de cleanup em
TEST_STORAGE_DIR; - loops de restart de container e exceções do backend.
O arquivo Compose de avaliação não configura sistema externo de alertas.
Falhas comuns
| Sintoma | Verifique |
|---|---|
/dev/kvm permission denied | Membership de grupo no host e mapeamento de device; não torne device world-writable |
| Cannot connect to libvirt | Status do daemon, path do socket, KVM_URI e mount do container |
| Upload rejected | Tipo de arquivo, espaço livre, permissões do diretório de imagens e limite de tamanho configurado |
| Guest cannot open source image | Identidade de path absoluto host/container e permissão read |
| VNC disconnects | Estado do guest, endpoint gráfico libvirt, caminho de proxy e diagnósticos do console no navegador |
| Replacement launch remains blocked | Journal persistente de cleanup, recursos stale de domínio/overlay/NVRAM e logs do backend |
Shutdown
Pare ou delete guests descartáveis na UI antes de parar a stack. Depois execute:
docker compose -f docker-compose.self-hosted.yml downInventarie domínios libvirt, imagens, redes e volume nomeado depois. Parar containers não remove automaticamente todo recurso owned pelo host.