neutron/neutron/services/trunk
Armando Migliaccio a1817f7d45 Optimize trunk details extension hook
As per findings [1], the hook was found to be a burden. That is
because of the lazy join on every DB lookup required to fetch
the MAC for the subport. Instead of issuing a gazillion JOINs
(one per each subport), this patch modifies the loop and speed
it up at the expenses of some temporary memory cost: it does so
by building a temporary map, looking up ports by IDs (which is
bleeding fast) and reassembling the data from the temp map as
the API expects it to be. Pronto!

[1] https://wiki.openstack.org/wiki/Neutron_Trunk_API_Performance_and_Scaling#surprise_effect_on_filtered_port_listings

Closes-bug: #bug/1648714

Change-Id: I58e39dbf1c83e1204d8d7f436395531ca096b1ab
2016-12-10 14:16:01 +00:00
..
drivers Pass context and resource_type in RPC callback 2016-12-08 06:03:59 -08:00
rpc Pass context and resource_type in RPC callback 2016-12-08 06:03:59 -08:00
seg_types Revisit support for trunk segmentation types 2016-09-02 15:37:09 +00:00
__init__.py Revisit support for trunk segmentation types 2016-09-02 15:37:09 +00:00
callbacks.py Add notifications for trunk CRUD and standardize payload 2016-07-26 10:24:57 -06:00
constants.py Change the prefix for trunk subports device_owner 2016-09-16 15:40:20 -07:00
exceptions.py Merge "Check MTU sanity of trunk port subports" 2016-09-05 16:36:27 +00:00
models.py Add common way to extend standard attribute models 2016-09-15 01:42:24 +00:00
plugin.py Optimize trunk details extension hook 2016-12-10 14:16:01 +00:00
rules.py Adopt neutron-lib plugin directory 2016-11-23 04:45:33 -07:00
utils.py Adopt neutron-lib plugin directory 2016-11-23 04:45:33 -07:00