]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Batch ports from security groups RPC handler
authorKevin Benton <blak111@gmail.com>
Fri, 26 Sep 2014 16:40:44 +0000 (09:40 -0700)
committerKevin Benton <kevinbenton@buttewifi.com>
Fri, 31 Oct 2014 23:01:33 +0000 (23:01 +0000)
commit96f9e7be4273cdb1e3febc92154fb1590afa087f
tree031703d079d7d712db1ddd32d398a62a82ede2b8
parent6e0597b2083a9355d7d8e88fa07df1e863502676
Batch ports from security groups RPC handler

The security groups RPC handler calls get_port_from_device
individually for each device in a list it receives. Each
one of these results in a separate SQL query for the security
groups and port details. This becomes very inefficient as the
number of devices on a single node increases.

This patch adds logic to the RPC handler to see if the core
plugin has a method to lookup all of the device IDs at once.
If so, it uses that method, otherwise it continues as normal.

The ML2 plugin is modified to include the batch function, which
uses one SQL query regardless of the number of devices.

Closes-Bug: #1374556
Change-Id: I15d19c22e8c44577db190309b6636a3251a9c66a
(cherry picked from commit abc16ebfcf8fd1fbdb4ef68590140d4d355b0a7c)
neutron/api/rpc/handlers/securitygroups_rpc.py
neutron/db/securitygroups_rpc_base.py
neutron/plugins/ml2/db.py
neutron/plugins/ml2/plugin.py
neutron/tests/unit/ml2/test_security_group.py