linuxbridge-agent not creating bridge anymore

Bug #1117770 reported by Boris Deschenes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Gary Kotton

Bug Description

I'm running grizzly trunk on ubuntu (grizzly-trunk-testing) after doing an apt-get upgrade, the bridges are not created automatically by the linuxbridge agent.

1. the linuxbridge is not create automatically
2. libvirt XML description relies on this bridge (brqxxxxxx)
3. the VM cannot spawn because of the XML description refenrencing an inexisting bridge

Here is the error in the nova-compute:

2013-02-06 17:34:18.436 DEBUG nova.openstack.common.lockutils [req-19ba2bda-7106-475b-94ea-c421ae0791e7 8636766bc6b342539a9c1b0e3e0c24cc 24e6c25ee7bf4f5bbcd19c53bbe84f37] Got semaphore "441bc017-c5e8-4511-abe9-ac8cae3ff9a0" for method "do_run_instance"... inner /usr/lib
2013-02-06 17:34:19.243 ERROR nova.compute.manager [req-19ba2bda-7106-475b-94ea-c421ae0791e7 8636766bc6b342539a9c1b0e3e0c24cc 24e6c25ee7bf4f5bbcd19c53bbe84f37] [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] Instance failed to spawn
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] Traceback (most recent call last):
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 984, in _spawn
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] block_device_info)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1186, in spawn
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] block_device_info)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2064, in _create_domain_and_network
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] domain = self._create_domain(xml, instance=instance)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2029, in _create_domain
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] domain.createWithFlags(launch_flags)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 187, in doit
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] result = proxy_call(self._autowrap, f, *args, **kwargs)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 147, in proxy_call
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] rv = execute(f,*args,**kwargs)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 76, in tworker
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] rv = meth(*args,**kwargs)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] File "/usr/lib/python2.7/dist-packages/libvirt.py", line 650, in createWithFlags
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9] libvirtError: Cannot get interface MTU on 'brqe9ac8133-fd': No such device
2013-02-06 17:34:19.243 4957 TRACE nova.compute.manager [instance: 6cd8560e-ff35-4742-bcf7-94b9ed6a0ce9]

If I manually create a bridge for all quantum networks, I can spawn VM, AFAICT this was done automatically by the quantum plugin as needed when spawning VMs.

Boris

Revision history for this message
Gary Kotton (garyk) wrote :

I will look into this. The problem looks like it is related to https://github.com/openstack/nova/commit/11aec7eccbbd786afb919c914404d33fbd690f36
Thanks
Gary

Changed in quantum:
status: New → Confirmed
importance: Undecided → Critical
Gary Kotton (garyk)
no longer affects: quantum
Changed in nova:
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/21414

Changed in nova:
assignee: nobody → Gary Kotton (garyk)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/21414
Committed: http://github.com/openstack/nova/commit/90f79a0485076bf79d63ed65b55605adec408f32
Submitter: Jenkins
Branch: master

commit 90f79a0485076bf79d63ed65b55605adec408f32
Author: Gary Kotton <email address hidden>
Date: Thu Feb 7 08:08:00 2013 +0000

    Ensure that LB VIF drivers creates the bridge if necessary

    Fixes bug 1117770

    In order for libvirt to use the bridge name the bridge must exist.

    Change-Id: Ie24cfce8454e0c1bbfd9058787a1fd704790f03c

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → grizzly-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: grizzly-3 → 2013.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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