neutron/neutron/objects
Doug Wiegley d075028146
Use dynamic lazy mode for fetching security group rules
In conjunction with the prior fix to only get a subset of fields
when needed, this makes the querying of non-rules SG objects
very very fast.

Before the two fixes, if you have about ten security groups with 2000 rules each:

list all: 14s
list all, just 'id' field: 14s
list one: 0.6s
list one, just 'id' field: 0.6s

With just the previous partial fix:

list all: 14s
list all, just 'id' field: 6s
list one: 0.6s
list one, just 'id' field: 0.2s

Now with this change:

list all: 14s
list all, just 'id' field: 0.04s
list one: 0.6s
list one, just 'id' field: 0.03s

Closes-Bug: #1810563
Change-Id: I15df276ba7dbcb3763ab20b63b26cddf2d594954
(cherry picked from commit 1e9086f6e2)
2019-04-30 14:00:38 -06:00
..
db Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
extensions Tag mechanism supports resources with standard attribute 2017-07-25 08:14:04 +09:00
logapi [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
plugins [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
port [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
qos Update neutron files for new over-indentation hacking rule (E117) 2019-02-02 10:48:26 +00:00
README.rst Objects: Add README for neutron/objects directory tree 2016-10-07 15:12:20 +00:00
__init__.py Use dirname in object recursive import 2017-04-20 04:35:10 -07:00
address_scope.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
agent.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
auto_allocate.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
base.py Use dynamic lazy mode for fetching security group rules 2019-04-30 14:00:38 -06:00
common_types.py Use dynamic lazy mode for fetching security group rules 2019-04-30 14:00:38 -06:00
flavor.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
floatingip.py Integration of Floating IP OVO 2017-12-04 19:30:02 +09:00
ipam.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
l3_hamode.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
l3agent.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
metering.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
network.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
ports.py objects: avoid deepcopying models in test_db_obj 2019-04-30 14:26:12 +00:00
provisioning_blocks.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
quota.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
rbac_db.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
router.py Use Router OVO in metering_db 2018-01-16 09:50:57 +07:00
securitygroup.py Use dynamic lazy mode for fetching security group rules 2019-04-30 14:00:38 -06:00
servicetype.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
stdattrs.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
subnet.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
subnetpool.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
tag.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
trunk.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
utils.py Add initialization in StringMatchingFilterObj class 2017-11-03 13:25:21 +09:00

README.rst

Neutron Objects

Directory

This directory is designed to contain all modules which have objects definitions shipped with core Neutron. The files and directories located inside of this directory should follow the guidelines below.

Structure

The Neutron objects tree should have the following structure:

  • The expected directory structure is flat, except for the ML2 plugins. All ML2 plugin objects should fall under the plugins subdirectory (i.e. plugins/ml2/gre_allocation).
  • Module names should use singular forms for nouns (network.py, not networks.py).