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

Xiaodai Wang xiaodwan at redhat.com
Thu Apr 13 11:04:13 UTC 2017





----- Original Message -----
> From: "Christophe Fergeau" <cfergeau at redhat.com>
> To: virt-tools-list at redhat.com
> Sent: Thursday, April 13, 2017 5:18:46 PM
> Subject: [virt-tools-list] [virt-manager] Reset Guest.domain to None on	domain creation error
> 
> 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


This will still have other problems. Since the guest has already been created, if you begin installation again,
some conflict like "The Mac address 'xxx' is in use by another virtual machine" will occur.

>                      except:
>                          pass
>                      raise exc_info[0], exc_info[1], exc_info[2]
> --
> 2.9.3
> 
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
> 




More information about the virt-tools-list mailing list