yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #17769
[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