]> 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 <blak111@gmail.com>
Wed, 29 Oct 2014 04:04:30 +0000 (21:04 -0700)
commitabc16ebfcf8fd1fbdb4ef68590140d4d355b0a7c
tree012b3afb7cc961901d6529fc7528555c5ecd0e64
parent1d5f15437acd9c752f9a9cd27ac9526a2b9a4bc5
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
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