← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1256950] Re: Race adding interface to bridge in linuxbridge agent

 

** Changed in: neutron
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1256950

Title:
  Race adding interface to bridge in linuxbridge agent

Status in OpenStack Neutron (virtual network service):
  Fix Released

Bug description:
  Running Havana ml2 plugin with linuxbridge agent on ubuntu 12.04.

  I saw a race to add the subinterface to the bridge on the network node
  when running a script to create a network, subnet, router and
  instance.

  The stack trace also highlighted a mistake in the code:
  'LinuxBridgeRpcCallbacks' object has no attribute 'plugin_rpc'.

  I have not been able to recreate it. Green threads from the daemon loop and port updates for the dhcp and router ports are competing here:
  https://github.com/openstack/neutron/blob/a04e91db98902584e8a19baa757425f5afe04802/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py#L324

  The call on L327 probably doesn't help, but L329 didn't run because
  eth2.1000 was not on another bridge. Also using rootwrap is probably
  slowing down the call to 'brctl addif' on L332.

  The debug level was only INFO, so there is nothing useful leading up
  to this:

  2013-11-28 18:48:02.981 3377 ERROR neutron.plugins.linuxbridge.agent.linuxbridge_neutron_agent [-] Unable to add eth2.1000 to brqb568d8f1-f3! Exception:
  Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'brctl', 'addif', 'brqb568d8f1-f3', 'eth2.1000']
  Exit code: 1
  Stdout: ''
  Stderr: "device eth2.1000 is already a member of a bridge; can't enslave it to bridge brqb568d8f1-f3.\n"
  2013-11-28 18:48:02.982 3377 ERROR neutron.openstack.common.rpc.amqp [-] Exception during message handling
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp Traceback (most recent call last):
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp   File "/usr/lib/python2.7/dist-packages/neutron/openstack/common/rpc/amqp.py", line 438, in _process_data
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp     **args)
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp   File "/usr/lib/python2.7/dist-packages/neutron/openstack/common/rpc/dispatcher.py", line 172, in dispatch
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp     result = getattr(proxyobj, method)(ctxt, **kwargs)
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 661, in port_update
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp     self.plugin_rpc.update_device_down(self.context,
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp AttributeError: 'LinuxBridgeRpcCallbacks' object has no attribute 'plugin_rpc'
  2013-11-28 18:48:02.982 3377 TRACE neutron.openstack.common.rpc.amqp
  2013-11-28 18:48:03.008 3377 ERROR neutron.plugins.linuxbridge.agent.linuxbridge_neutron_agent [-] Unable to add eth2.1000 to brqb568d8f1-f3! Exception:
  Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'brctl', 'addif', 'brqb568d8f1-f3', 'eth2.1000']
  Exit code: 1
  Stdout: ''
  Stderr: "device eth2.1000 is already a member of a bridge; can't enslave it to bridge brqb568d8f1-f3.\n"

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1256950/+subscriptions