#235 Catch libvirt exceptions and deal with them accordingly
Opened by jsteffan. Modified

Traceback (most recent call last):
File "./revisor.py", line 231, in
revisorBase.run()
File "/home/jon/Fedora/Revisor/revisor/revisor/cli.py", line 48, in run
self.base.lift_off()
File "/home/jon/Fedora/Revisor/revisor/revisor/base.py", line 466, in lift_off
self.provision_virtual_machine()
File "/home/jon/Fedora/Revisor/revisor/revisor/base.py", line 1021, in provision_virtual_machine
virtual_machine = revisor.modvirt.RevisorVirtualMachine(type=virtual_type)
File "/usr/lib/python2.5/site-packages/virtinst/Guest.py", line 359, in init
self.conn = libvirt.open(hypervisorURI)
File "/usr/lib64/python2.5/site-packages/libvirt.py", line 123, in open
if ret is None:raise libvirtError('virConnectOpen() failed')
libvirt.libvirtError: virConnectOpen() failed

This is what it looks like when there is no local running hypervisor. This particular traceback needs to be caught earlier in the application (aka test for Xen if trying to build Xen images locally) but is a good example of what we need to catch and gracefully handle.


Starting the virtual guest provision...
libvir: QEMU error :
Traceback (most recent call last):
File "./revisor.py", line 237, in
revisorBase.run()
File "/home/jon/Fedora/Revisor/revisor/revisor/cli.py", line 48, in run
self.base.lift_off()
File "/home/jon/Fedora/Revisor/revisor/revisor/base.py", line 643, in lift_off
self.provision_virtual_machine()
File "/home/jon/Fedora/Revisor/revisor/revisor/base.py", line 1281, in provision_virtual_machine
virtual_machine.start_virtual_machine_installer()
File "/home/jon/Fedora/Revisor/revisor/revisor/modvirt/init.py", line 314, in start_virtual_machine_installer
self.start_install()
File "/usr/lib/python2.5/site-packages/virtinst/Guest.py", line 649, in start_install
return self._do_install(consolecb, meter)
File "/usr/lib/python2.5/site-packages/virtinst/Guest.py", line 658, in _do_install
raise RuntimeError, "Domain named %s already exists!" %(self.name,)
RuntimeError: Domain named jontest already exists!

Another example

Starting the virtual guest provision...
libvir: QEMU error :
Traceback (most recent call last):
File "./revisor.py", line 237, in
revisorBase.run()
File "/home/jon/Fedora/Revisor/revisor/revisor/cli.py", line 48, in run
self.base.lift_off()
File "/home/jon/Fedora/Revisor/revisor/revisor/base.py", line 643, in lift_off
self.provision_virtual_machine()
File "/home/jon/Fedora/Revisor/revisor/revisor/base.py", line 1281, in provision_virtual_machine
virtual_machine.start_virtual_machine_installer()
File "/home/jon/Fedora/Revisor/revisor/revisor/modvirt/init.py", line 314, in start_virtual_machine_installer
self.start_install()
File "/usr/lib/python2.5/site-packages/virtinst/Guest.py", line 649, in start_install
return self._do_install(consolecb, meter)
File "/usr/lib/python2.5/site-packages/virtinst/Guest.py", line 658, in _do_install
raise RuntimeError, "Domain named %s already exists!" %(self.name,)
RuntimeError: Domain named jontest already exists!

Another example

Metadata Update from @jsteffan:
- Issue set to the milestone: 2.1.0 Release

Metadata