diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-12-04 05:30:29 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-12-04 05:30:29 +0000 |
| commit | d0ebec4f093e4f4a80d8dd28c34e8645afa41481 (patch) | |
| tree | 4c9c40ad371b9725ac05bc96f9aadc194a8e35ce | |
| parent | c783a97326181c76ede3dab87163c93d313b2086 (diff) | |
| parent | 0e85ba136e3c1c2f81f5ed7d594020539100939d (diff) | |
| download | nova-d0ebec4f093e4f4a80d8dd28c34e8645afa41481.tar.gz nova-d0ebec4f093e4f4a80d8dd28c34e8645afa41481.tar.xz nova-d0ebec4f093e4f4a80d8dd28c34e8645afa41481.zip | |
Merge "Add notifications when libvirtd goes down"
| -rw-r--r-- | nova/virt/libvirt/driver.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index b39fd773b..4d2408ff1 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -67,6 +67,7 @@ from nova.openstack.common import fileutils from nova.openstack.common import importutils from nova.openstack.common import jsonutils from nova.openstack.common import log as logging +from nova.openstack.common.notifier import api as notifier from nova import utils from nova.virt import configdrive from nova.virt.disk import api as disk @@ -399,10 +400,22 @@ class LibvirtDriver(driver.ComputeDriver): _connect_auth_cb, None] - if read_only: - return libvirt.openReadOnly(uri) - else: - return libvirt.openAuth(uri, auth, 0) + try: + if read_only: + return libvirt.openReadOnly(uri) + else: + return libvirt.openAuth(uri, auth, 0) + except libvirt.libvirtError as ex: + LOG.exception(_("Connection to libvirt failed: %s"), ex) + payload = dict(ip=LibvirtDriver.get_host_ip_addr(), + method='_connect', + reason=ex) + notifier.notify(nova_context.get_admin_context(), + notifier.publisher_id('compute'), + 'compute.libvirt.error', + notifier.ERROR, + payload) + pass def get_num_instances(self): """Efficient override of base instance_exists method.""" |
