[Kimchi-devel] [PATCH] Issue #289: catch the libvirtError when failed to start a vm
Rodrigo Trujillo
rodrigo.trujillo at linux.vnet.ibm.com
Mon Feb 24 17:52:15 UTC 2014
Reviewed-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
On 02/24/2014 07:15 AM, shaohef at linux.vnet.ibm.com wrote:
> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>
> There are several reasons when failed to start domain.
> we should catch the libvirtError.
>
> issue:
> https://github.com/kimchi-project/kimchi/issues/289
>
> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
> ---
> src/kimchi/i18n.py | 1 +
> src/kimchi/model/vms.py | 6 +++++-
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/kimchi/i18n.py b/src/kimchi/i18n.py
> index dfc1b2b..fc4b1ff 100644
> --- a/src/kimchi/i18n.py
> +++ b/src/kimchi/i18n.py
> @@ -76,6 +76,7 @@ messages = {
> "KCHVM0016E": _("Specify a template to create a virtual machine from"),
> "KCHVM0017E": _("Volume list (LUNs names) not given."),
> "KCHVM0018E": _("Virtual machine volumes must be a list of strings with distinct LUNs names."),
> + "KCHVM0019E": _("Unable to start virtual machine %(name)s. Details: %(err)s"),
>
> "KCHVMIF0001E": _("Interface %(iface)s does not exist in virtual machine %(name)s"),
> "KCHVMIF0002E": _("Network %(network)s specified for virtual machine %(name)s does not exist"),
> diff --git a/src/kimchi/model/vms.py b/src/kimchi/model/vms.py
> index 9da6688..b6a42e6 100644
> --- a/src/kimchi/model/vms.py
> +++ b/src/kimchi/model/vms.py
> @@ -376,7 +376,11 @@ class VMModel(object):
> run_setfacl_set_attr(iso)
>
> dom = self.get_vm(name, self.conn)
> - dom.create()
> + try:
> + dom.create()
> + except libvirt.libvirtError as e:
> + raise OperationFailed("KCHVM0019E",
> + {'name': name, 'err': e.get_error_message()})
>
> def stop(self, name):
> if self._vm_exists(name):
More information about the Kimchi-devel
mailing list