Nova fails to start if --start_guests_on_host_boot=true is set

Bug #1010927 reported by Adrian Moya
30
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Dan Prince
Essex
Fix Released
Medium
Vish Ishaya

Bug Description

Whith the following flags set on nova conf:

--start_guests_on_host_boot=true
--resume_guests_state_on_host_boot=true

When a compute node is hard rebooted (or in my case, suffer a power failure), nova-compute is unable to start on the node with the following error:

2012-06-09 11:24:16 INFO nova.virt.libvirt.connection [req-9c3628ce-f5c2-4f2c-9217-aed95ae10a42 None None] [instance: bea97c46-fde7-4fe8-8e89-ab8e81d635d5] Instance shutdown successfully.
2012-06-09 11:24:17 CRITICAL nova [-] Cannot get interface MTU on 'br100': No such device
2012-06-09 11:24:17 TRACE nova Traceback (most recent call last):
2012-06-09 11:24:17 TRACE nova File "/usr/bin/nova-compute", line 49, in <module>
2012-06-09 11:24:17 TRACE nova service.wait()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 413, in wait
2012-06-09 11:24:17 TRACE nova _launcher.wait()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 131, in wait
2012-06-09 11:24:17 TRACE nova service.wait()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166, in wait
2012-06-09 11:24:17 TRACE nova return self._exit_event.wait()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
2012-06-09 11:24:17 TRACE nova return hubs.get_hub().switch()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in switch
2012-06-09 11:24:17 TRACE nova return self.greenlet.switch()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in main
2012-06-09 11:24:17 TRACE nova result = function(*args, **kwargs)
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 101, in run_server
2012-06-09 11:24:17 TRACE nova server.start()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 162, in start
2012-06-09 11:24:17 TRACE nova self.manager.init_host()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 247, in init_host
2012-06-09 11:24:17 TRACE nova self.reboot_instance(context, instance['uuid'])
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 114, in wrapped
2012-06-09 11:24:17 TRACE nova return f(*args, **kw)
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 153, in decorated_function
2012-06-09 11:24:17 TRACE nova function(self, context, instance_uuid, *args, **kwargs)
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 177, in decorated_function
2012-06-09 11:24:17 TRACE nova sys.exc_info())
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-06-09 11:24:17 TRACE nova self.gen.next()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 171, in decorated_function
2012-06-09 11:24:17 TRACE nova return function(self, context, instance_uuid, *args, **kwargs)
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 898, in reboot_instance
2012-06-09 11:24:17 TRACE nova reboot_type)
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 114, in wrapped
2012-06-09 11:24:17 TRACE nova return f(*args, **kw)
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 718, in reboot
2012-06-09 11:24:17 TRACE nova if self._soft_reboot(instance):
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 754, in _soft_reboot
2012-06-09 11:24:17 TRACE nova dom.create()
2012-06-09 11:24:17 TRACE nova File "/usr/lib/python2.7/dist-packages/libvirt.py", line 551, in create
2012-06-09 11:24:17 TRACE nova if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
2012-06-09 11:24:17 TRACE nova libvirtError: Cannot get interface MTU on 'br100': No such device

It seems that nova-compute doesn't create the bridge and thus fails to start. Removing both settings from nova conf makes nova-compute start again.

Revision history for this message
Vish Ishaya (vishvananda) wrote :

This was recently changed in trunk. I think this is fixed now.

Revision history for this message
Vish Ishaya (vishvananda) wrote :

fix is here: https://review.openstack.org/#/c/8035/

It should probably be backported to essex

Changed in nova:
status: New → Fix Committed
importance: Undecided → Low
assignee: nobody → Dan Prince (dan-prince)
importance: Low → Medium
Revision history for this message
Vish Ishaya (vishvananda) wrote :
Thierry Carrez (ttx)
Changed in nova:
milestone: none → folsom-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: folsom-2 → 2012.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.