Resumen
VirtualBox parece querer que todo esté "registrado", lo que hace que sea mucho más molesto trabajar con él en la línea de comandos.
Estoy intentando crear un script automatizado que creará, moverá, iniciará, detendrá y destruirá máquinas virtuales y discos virtuales. Requerir el registro complicará la tarea por las siguientes razones.
- deja información de estado que puede causar casos impredecibles que causan fallas en los scripts.
- crea posibles colisiones de espacio de nombres para múltiples procesos que crean máquinas virtuales con el mismo nombre
- mover / copiar recursos en la misma máquina es más complicado porque las referencias en el registro deben actualizarse
- copiar recursos (combinación de disco + vm) a otra máquina requiere reconfiguración una vez que llegan a su máquina de destino, y requiere la transferencia de metadatos adicionales para realizar la reconfiguración.
- Si algo falla inesperadamente y, por lo tanto, no se puede registrar, la información de configuración sobrante puede causar problemas en ejecuciones posteriores.
Caso de uso
Mi caso de uso específico es para un servidor de integración continua que crea y destruye VM e imágenes de disco potencialmente con el mismo nombre, y requeriría más lógica para lidiar con el estado del registro.
Ejemplo imaginario
Parece que debería poder, por ejemplo (usando algunos comandos imaginarios y / o incorrectos):
mkdir foobar
customdiskimg_script ./foo/foo.vdi
vboxmanage createvm --name "foo" --ostype Linux --basefolder ./foo/foo.xml
vboxmanage storagectl ./foo/foo.xml --name foo --add ide
vboxmanage storageattach --storagectl foo --medium ./foo/foo.vdi ./foo/foo.xml
vboxmanage startvm ./foo/foo.xml
TLDR
¿Hay alguna manera de usar virtualbox sin "registrar" discos duros y máquinas virtuales?
-register
interruptor?