← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1355153] Re: Inefficient implementation of Linuxbridge agent get_bridge_for_tap_device

 

already closed by

commit 459980f04a62e2ef15a2b8c91ac6c8d6ee484167
Author: Cedric Brandily <zzelle@xxxxxxxxx>
Date:   Thu Nov 5 23:40:45 2015 +0100

    Move LinuxBridge related features to bridge_lib
    
    This change moves from linuxbridge agent[1] to bridge_lib[2] bridge only
    related features and adds functional tests.


** Changed in: neutron
       Status: In Progress => Invalid

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

Title:
  Inefficient implementation of Linuxbridge agent
  get_bridge_for_tap_device

Status in neutron:
  Invalid

Bug description:
  The implementation of LinuxBridgeManager.get_bridge_for_tap_device
  uses an inefficient algorithm of repeatedly listing all bridges and
  their interfaces for each call.

  At scale, this implementation becomes very inefficient, causing the
  agent to become unresponsive in reporting interfaces as up to nova,
  leading to instance creation failure due to a timeout in
  LibvirtDriver._create_domain_and_network.

  This can be replaced with a constant-time implementation using the
  fact that the tap device's 'brport' directory contains a 'bridge'
  symlink to the bridge device, which carries the bridge name. The same
  symlink also exists as 'master' on the same level as 'brport'.

  The patch I propose also removes the single use of methods
  get_all_neutron_bridges and interface_exists_on_bridge. I left these
  methods in as their removal is not necessary for this bugfix.

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


References