yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #07916
[Bug 1215593] Re: nova-compute startup failure on Fedora 19 fresh install (no suitable emulator)
This was fixed in baadaa9842ad4ff8b637466affd3c9f2213b55ac.
Updates the Nova libvirt driver so we make a call to get
the driver capabilities. This is clearly a work around
but it does allow nova-compute to startup cleanly when
performing a clean install of Fedora 19.
See notes in: https://bugzilla.redhat.com/show_bug.cgi?id=1000116
Fixes LP Bug #1215593.
Change-Id: I2c74dc001032e3cc4d7d55a3fa407b96fd0d0e78
** Bug watch added: Red Hat Bugzilla #1000116
https://bugzilla.redhat.com/show_bug.cgi?id=1000116
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1215593
Title:
nova-compute startup failure on Fedora 19 fresh install (no suitable
emulator)
Status in OpenStack Compute (Nova):
Fix Released
Bug description:
Using the latest Nova havana release on Fedora 19. I see the following
stack trace in Nova's compute.log file after performing a fresh
install of Nova/libvirt/qemu and trying to start nova-compute:
2013-08-22 19:01:57.245 9050 ERROR nova.openstack.common.threadgroup [-] internal error Cannot find suitable emulator for x86_64
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup Traceback (most recent call last):
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 117, in wait
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup x.wait()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 49, in wait
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup return self.thread.wait()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 168, in wait
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup return self._exit_event.wait()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 116, in wait
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 187, in switch
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup return self.greenlet.switch()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 194, in main
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/service.py", line 65, in run_service
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup service.start()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/service.py", line 154, in start
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup self.manager.init_host()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 756, in init_host
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup self._report_driver_status(context)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 4318, in _report_driver_status
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup capabilities = self.driver.get_host_stats(refresh=True)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3733, in get_host_stats
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup return self.host_state.get_host_stats(refresh=refresh)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 374, in host_state
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup self._host_state = HostState(self)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4094, in __init__
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup self.update_status()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4134, in update_status
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup data["hypervisor_version"] = self.driver.get_hypervisor_version()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 2939, in get_hypervisor_version
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup return method()
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 187, in doit
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup result = proxy_call(self._autowrap, f, *args, **kwargs)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 147, in proxy_call
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup rv = execute(f,*args,**kwargs)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 76, in tworker
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup rv = meth(*args,**kwargs)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3550, in getVersion
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup if ret == -1: raise libvirtError ('virConnectGetVersion() failed', conn=self)
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup libvirtError: internal error Cannot find suitable emulator for x86_64
2013-08-22 19:01:57.245 9050 TRACE nova.openstack.common.threadgroup
2013-08-22 19:03:25.960 9155 WARNING nova.virt.libvirt.driver [-] URI qemu:///system does not support events
----------------
I've filed a related Bugzilla on the isolated libvirt issue here:
https://bugzilla.redhat.com/show_bug.cgi?id=1000116
This is using libvirt 1.0.5.5-1.
A couple of things can be done to work around this error.
1) Manually call 'virsh capabilities' and then restart nova-compute.
2) In the Nova libvirt driver if we reverse the order we call
getVersion and getCapabilites it also seems to fix it.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1215593/+subscriptions