From 81e50b746b4d35f98b0f86c46c6b9ec3c4ee6442 Mon Sep 17 00:00:00 2001 From: Jian Wen Date: Thu, 16 May 2013 01:45:57 +0800 Subject: libvirt: Catch VIR_ERR_NO_DOMAIN in list_instances Commit 25f50d9a didn't catch the exact exception for looking up deleted domain. Partly fixes LP Bug #1032741. Change-Id: I6c6f7d8a736c833488b6cb8e00530dc4138f1424 --- nova/virt/libvirt/driver.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'nova/virt') diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 6af67bde5..175a3efae 100755 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -673,9 +673,10 @@ class LibvirtDriver(driver.ComputeDriver): if domain_id != 0: domain = self._conn.lookupByID(domain_id) names.append(domain.name()) - except libvirt.libvirtError: - # Instance was deleted while listing... ignore it - pass + except libvirt.libvirtError as e: + if e.get_error_code() != libvirt.VIR_ERR_NO_DOMAIN: + # Ignore deleted instance while listing + raise # extend instance list to contain also defined domains names.extend([vm for vm in self._conn.listDefinedDomains() -- cgit