2

Any attempt to start nova compute services fails with the error HypervisorUnavailable: Connection to the hypervisor is broken on host:

The trace log is the following (taken from /var/log/nova/nova-compute.log )

AUDIT nova.service [-] Starting compute node (version 2014.1.1)
ERROR nova.virt.libvirt.driver [-] Connection to libvirt failed: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
TRACE nova.virt.libvirt.driver Traceback (most recent call last):
TRACE nova.virt.libvirt.driver   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 787, in _connect
TRACE nova.virt.libvirt.driver     libvirt.openAuth, uri, auth, flags)
TRACE nova.virt.libvirt.driver   File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 139, in proxy_call
TRACE nova.virt.libvirt.driver     rv = execute(f,*args,**kwargs)
TRACE nova.virt.libvirt.driver   File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 77, in tworker
TRACE nova.virt.libvirt.driver     rv = meth(*args,**kwargs)
TRACE nova.virt.libvirt.driver   File "/usr/lib/python2.7/dist-packages/libvirt.py", line 105, in openAuth
TRACE nova.virt.libvirt.driver     if ret is None:raise libvirtError('virConnectOpenAuth() failed')
TRACE nova.virt.libvirt.driver libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
TRACE nova.virt.libvirt.driver
ERROR nova.openstack.common.threadgroup [-] Connection to the hypervisor is broken on host: <HOST_NAME>
TRACE nova.openstack.common.threadgroup Traceback (most recent call last):
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py", line 117, in wait
TRACE nova.openstack.common.threadgroup     x.wait()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py", line 49, in wait
TRACE nova.openstack.common.threadgroup     return self.thread.wait()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 168, in wait
TRACE nova.openstack.common.threadgroup     return self._exit_event.wait()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
TRACE nova.openstack.common.threadgroup     return hubs.get_hub().switch()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 187, in switch
TRACE nova.openstack.common.threadgroup     return self.greenlet.switch()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 194, in main
TRACE nova.openstack.common.threadgroup     result = function(*args, **kwargs)
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/openstack/common/service.py", line 483, in run_service
TRACE nova.openstack.common.threadgroup     service.start()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/service.py", line 163, in start
TRACE nova.openstack.common.threadgroup     self.manager.init_host()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1006, in init_host
TRACE nova.openstack.common.threadgroup     self.driver.init_host(host=self.host)
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 656, in init_host
TRACE nova.openstack.common.threadgroup     self._do_quality_warnings()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 639, in _do_quality_warnings
 TRACE nova.openstack.common.threadgroup     caps = self.get_host_capabilities()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2849, in get_host_capabilities
TRACE nova.openstack.common.threadgroup     xmlstr = self._conn.getCapabilities()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 721, in _get_connection
TRACE nova.openstack.common.threadgroup     wrapped_conn = self._get_new_connection()
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 674, in _get_new_connection
TRACE nova.openstack.common.threadgroup     wrapped_conn = self._connect(self.uri(), self.read_only)
TRACE nova.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 796, in _connect
TRACE nova.openstack.common.threadgroup     raise exception.HypervisorUnavailable(host=CONF.host)
TRACE nova.openstack.common.threadgroup HypervisorUnavailable: Connection to the hypervisor is broken on host: <HOST_NAME>

No other log file indicates any error syslog, dmesg and /var/log/libvirt/libvirtd.log does not show any issue

The libvirt configuration (/etc/libvirt/libvirtd.conf) was set to log the errors log_outputs="3:syslog:libvirtd"

Before the error appear the node was running smoothly, no changes were made.

Athafoud
  • 149
  • 1
  • 1
  • 13

3 Answers3

2

In my case, I had re-installed libvirt and associated packages without restarting libvirtd. The error was thus resolved with the following three commands:

systemctl stop libvirtd
systemctl start libvirtd
systemctl status libvirtd
CodeMed
  • 315
  • 1
  • 8
  • 21
0

Seems that it was a miss-configuration of the libvirt. In brief the problem was that libvirtd was not starting with --listen flag and so it was not creating the approiate sock file that the nova service is searching for.

See my relevant answer on ask ubuntu on how to configure libvirt on 'listen' mode.

Athafoud
  • 149
  • 1
  • 1
  • 13
0

I had a similar case last night when I tried to restart my nova-compute service . In the lpg you provided, we can se3 the following line(s)

Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory TRACE nova.virt.libvirt.driver "

So we can know that the issue results from the libvirtd service not working.

In my case I checked the status of libvirtd service to find why it fails and then I tried to restart it as depicted bellow

enter image description here

I googled a lot about the problem (g-io-error-quark,1) above. But all the results are about a problem of /etc/fstab.

In my case, I tried to use the libvirtd -l command to get some tips

enter image description here

Finally I found out that it! The problem is about the /var/run and that is a link to path /run and the link fails. So I reset the link to /run ,and then restarted the libvirtd service successfully.

I hope this will work to you.

Athafoud
  • 149
  • 1
  • 1
  • 13