neutron/neutron/services
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
..
auto_allocate Adopt neutron-lib plugin directory 2016-11-23 04:45:33 -07:00
externaldns Refactoring config options for services opts 2016-08-11 01:21:41 +00:00
flavors Make service plugins' get_plugin_type classmethods 2016-06-07 15:33:07 -05:00
l3_router Eliminate DVR inheritance of router create/update_db 2016-12-02 14:29:43 -05:00
metering Metering: sync only active routers hosted on the same host 2016-11-21 19:44:22 +00:00
network_ip_availability Make service plugins' get_plugin_type classmethods 2016-06-07 15:33:07 -05:00
qos Add QoS minimum bandwidth rule for instance egress traffic 2016-08-27 17:08:18 +00:00
rbac Neutron RBAC API and network support 2015-08-20 20:00:17 -07:00
revisions Add common way to extend standard attribute models 2016-09-15 01:42:24 +00:00
segments Adopt neutron-lib plugin directory 2016-11-23 04:45:33 -07:00
tag Use new enginefacade for tag 2016-11-14 08:28:02 +00:00
timestamp Use Query.column_descriptions instead of private property 2016-12-06 13:00:13 -05:00
trunk Optimize trunk details extension hook 2016-12-10 14:16:01 +00:00
__init__.py Empty files should not contain copyright or license 2014-10-20 00:50:32 +00:00
provider_configuration.py Refactor/prepare db common utils for neutron-lib 2016-10-28 10:53:11 -04:00
service_base.py Adding the appropriate log hints where needed 2016-06-30 07:35:24 +00:00