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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to