Linux bridge agent downs if vlan tag is already used

Bug #1038783 reported by Nachi Ueno
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Low
Gary Kotton

Bug Description

Linux bridge agent downs if vlan tag is already used
I'm not sure spec of the linux bridge agent. So may be this behavior is not bug.

Stderr: "device eth0.1000 is already a member of a bridge; can't enslave it to bridge brqdaffeb68-ab.\n"
Traceback (most recent call last):
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 751, in <module>
    main()
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 746, in main
    plugin.daemon_loop()
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 700, in daemon_loop
    sync = self.process_network_devices(device_info)
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 630, in process_network_devices
    resync_a = self.treat_devices_added(device_info['added'])
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 655, in treat_devices_added
    details['vlan_id'])
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 595, in process_port_binding
    interface_id)
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 290, in add_interface
    tap_device_name)
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 260, in add_tap_interface
    self.ensure_vlan_bridge(network_id, physical_interface, vlan_id)
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 179, in ensure_vlan_bridge
    self.ensure_bridge(bridge_name, interface)
  File "/opt/stack/quantum/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py", line 230, in ensure_bridge
    root_helper=self.root_helper)
  File "/opt/stack/quantum/quantum/agent/linux/utils.py", line 55, in execute
    raise RuntimeError(m)
RuntimeError:
Command: ['sudo', 'brctl', 'addif', 'brqdaffeb68-ab', 'eth0.1000']
Exit code: 1
Stdout: ''
Stderr: "device eth0.1000 is already a member of a bridge; can't enslave it to bridge brqdaffeb68-ab.\n"
DEBUG:amqplib:Closed channel #1
2012-08-19 22:06:07 DEBUG [amqplib] Closed channel #1

Gary Kotton (garyk)
Changed in quantum:
assignee: nobody → Gary Kotton (garyk)
Revision history for this message
Gary Kotton (garyk) wrote :

I have managed to reproduce the problem. With devstack run ./stack.sh then ./unstack.sh and ./stack.sh again.
I am going to do two things:
1. Ensure that the agent does not terminated (traffic will not work on this network).
2. Add a patch to devstack to clean up the bridges properly
Thanks
Gary

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to quantum (master)

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

Changed in quantum:
status: New → In Progress
Gary Kotton (garyk)
Changed in quantum:
milestone: none → folsom-rc1
importance: Undecided → Low
status: In Progress → Confirmed
Changed in quantum:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to quantum (master)

Reviewed: https://review.openstack.org/11642
Committed: http://github.com/openstack/quantum/commit/b9af0a397325677a2a2b9ec5f0051de31832722e
Submitter: Jenkins
Branch: master

commit b9af0a397325677a2a2b9ec5f0051de31832722e
Author: Gary Kotton <email address hidden>
Date: Mon Aug 20 04:32:10 2012 -0400

    Ensure that LB agent does not terminate if interface already exists in bridge

    Fixes bug 1038783

    Change-Id: Iaa4778562b4efc13919341832f5281b1516f8f8c

Changed in quantum:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in quantum:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in quantum:
milestone: folsom-rc1 → 2012.2
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.