[virt-tools-list] [virt-manager] Reset Guest.domain to None on domain creation error

Christophe Fergeau cfergeau at redhat.com
Thu Apr 13 09:18:46 UTC 2017


When an error occurs when the VM creation wizard tries to start the VM,
it's then not possible to press again the "Finish" button to try again
to start it, as this errors out with:

Traceback (most recent call last):
  File "/home/teuf/redhat/virt/virt-manager/virtManager/asyncjob.py", line 88, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/home/teuf/redhat/virt/virt-manager/virtManager/create.py", line 2341, in _do_async_install
    guest.start_install(meter=meter)
  File "/home/teuf/redhat/virt/virt-manager/virtinst/guest.py", line 457, in start_install
    raise RuntimeError(_("Domain has already been started!"))
RuntimeError: Domain has already been started!

This is caused by code introduced in commit fc6778 which does not reset
self.domain to None when an exception is caught.

Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
---
 virtinst/guest.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/virtinst/guest.py b/virtinst/guest.py
index c8c3d14..3997519 100644
--- a/virtinst/guest.py
+++ b/virtinst/guest.py
@@ -408,6 +408,7 @@ class Guest(XMLBuilder):
                     exc_info = sys.exc_info()
                     try:
                         self.domain.undefine()
+                        self.domain = None
                     except:
                         pass
                     raise exc_info[0], exc_info[1], exc_info[2]
-- 
2.9.3




More information about the virt-tools-list mailing list