El error "undefined" aparecía al intentar crear una VM, y el disco virtual se creaba pero no se agregaba a la configuración de la VM en libvirt.
/var/lib/libvirt/images/Archivo: create_disk.sh
sudo para manejar correctamente los permisoslibvirt-qemu:kvmArchivo: /etc/sudoers.d/virtmanager
Configuración única (no requiere re-ejecutar para cada usuario)
creylopez ALL=(ALL) NOPASSWD: /home/creylopez/virtmanager/create_disk.sh
Archivo: app/main.py - función create_vm()
Cambios:
qemu-img directo[CREATE_VM]Archivo: static/app.js
Cambios:
Archivos nuevos:
RUNNING.md - Instrucciones para ejecutar el servidor y probarTROUBLESHOOTING.md - Guía de resolución de problemasREADME.md - Actualizado con configuración de permisosSe realizó un test end-to-end que verifica:
Resultado: ✅ TEST EXITOSO
cd /home/creylopez/virtmanager
chmod +x create_disk.sh
echo "creylopez ALL=(ALL) NOPASSWD: /home/creylopez/virtmanager/create_disk.sh" | sudo tee /etc/sudoers.d/virtmanager
sudo visudo -c -f /etc/sudoers.d/virtmanager
cd /home/creylopez/virtmanager
source venv/bin/activate
sudo -E venv/bin/uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Accede a http://localhost:8000
Usuario → Frontend (/vms)
↓
Backend (create_vm)
↓
[1] Crear disco (script helper + sudo)
↓
[2] Verificar que disco existe
↓
[3] Generar MAC aleatoria
↓
[4] Generar XML de configuración
↓
[5] Definir VM en libvirt (defineXML)
↓
[6] Iniciar VM (create)
↓
Respuesta al usuario
Cuando creas una VM, verás logs como:
[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!
Si hay un error, verás:
[CREATE_VM] ERROR: [descripción del error]
app/main.py - Función create_vm() mejorada con logging y mejor manejo de erroresstatic/app.js - Frontend con mejor validación y manejo de erroresREADME.md - Documentación actualizadacreate_disk.sh - Script helper para crear discos/etc/sudoers.d/virtmanager - Configuración de permisosRUNNING.md - Instrucciones de ejecuciónTROUBLESHOOTING.md - Guía de troubleshootingSOLUTION.md - Este archivo (documentación de la solución)