cd /home/creylopez/virtmanager
source venv/bin/activate
sudo -E /home/creylopez/virtmanager/venv/bin/uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
La opción -E preserva las variables de entorno del usuario.
En otra terminal:
curl http://localhost:8000/vms
Deberías obtener una respuesta JSON con la lista de VMs.
Acceder a la interfaz web:
http://localhost:8000 en tu navegadorSubir una ISO (si no tienes):
Crear una VM:
Verificar creación:
/var/lib/libvirt/images/⚠️ REQUISITOS IMPORTANTES:
Parar la VM:
Agregar el disco:
Verificar:
Verifica los logs del servidor:
# En la terminal donde corre el servidor, busca lineas que empiezan con [CREATE_VM]
Verifica los permisos:
sudo -l | grep create_disk
ls -l /home/creylopez/virtmanager/create_disk.sh
Verifica que libvirt está corriendo:
sudo systemctl status libvirtd
Verifica el espacio en disco:
df -h /var/lib/libvirt/images/
Esto generalmente significa que hay un problema con la definición de XML de la VM. Los logs del servidor mostrarán el error exacto de libvirt.
Posibles causas:
En la terminal donde corre el servidor, presiona Ctrl+C
El servidor mostrará logs con prefijo [CREATE_VM] cuando se crea una VM. Estos logs incluyen:
Ejemplo de log exitoso:
[CREATE_VM] Starting VM creation: name=mivm, memory=2048, disk_size=20, cpus=2
[CREATE_VM] Using ISO path: /var/lib/libvirt/images/isos/ubuntu-22.04.iso
[CREATE_VM] Script path: /home/creylopez/virtmanager/create_disk.sh
[CREATE_VM] Disk creation return code: 0
[CREATE_VM] Disk created successfully: /var/lib/libvirt/images/mivm.qcow2
[CREATE_VM] Generated MAC: 52:54:00:ab:cd:ef
[CREATE_VM] XML template prepared for VM definition
[CREATE_VM] Defining VM with libvirt...
[CREATE_VM] VM defined successfully. Starting VM...
[CREATE_VM] VM started successfully!
sudo para acceso total a libvirtcreate_disk.sh debe estar configurado en sudoers sin contraseña