neutron/neutron/objects
Hongbin Lu f24f422373 Support fetching specific db column in OVO
There is a analysis [1] suggested to run queries against specific
columns rather than full ORM entities to optimize the performance.
Right now, it is impossible to execute such optimization because
OVO doesn't support fetching specific column yet.

This commit introduces a new method 'get_values' in the base
neutron object class. Subclass of neutron object can leverage
this method to fetch specific field of a OVO. It supports fetching
non-synthetic fields only as syntheic fields are not directly backed
by corresponding DB table columns.

neutron-lib patch: https://review.openstack.org/#/c/619047/

[1] https://review.openstack.org/#/c/592361/

Needed-By: https://review.openstack.org/#/c/610184/

Change-Id: Ib90eae7738a5d2e4548fe9fed001d6cdaffddf3b
Partial-Implements: blueprint adopt-oslo-versioned-objects-for-db
2018-12-11 19:29:28 +00:00
..
db Support fetching specific db column in OVO 2018-12-11 19:29:28 +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 Add propagate_uplink_status to port 2018-11-29 19:33:16 +00:00
qos Support fetching specific db column in OVO 2018-12-11 19:29:28 +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 use object utils from neutron-lib 2018-06-11 11:10:53 -06:00
auto_allocate.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
base.py Support fetching specific db column in OVO 2018-12-11 19:29:28 +00:00
common_types.py Router to OVO 2017-11-24 04:11:33 +00: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 Use RBACBaseObject OVO in neutron/db/rbac_db_mixin.py 2018-11-08 13:41:36 +00:00
port_forwarding.py Add protocol to port_forwarding uniq constraint 2018-11-06 23:03:06 +08:00
ports.py Make port binding attempt after agent is revived 2018-10-22 18:43:33 +02: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.py Use RBACBaseObject OVO in neutron/db/rbac_db_mixin.py 2018-11-08 13:41:36 +00:00
rbac_db.py Use RBACBaseObject OVO in neutron/db/rbac_db_mixin.py 2018-11-08 13:41:36 +00:00
router.py Use Router OVO in external_net_db 2018-02-08 14:42:29 +00:00
securitygroup.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00: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 ipam_backend_mixin: Segments model to OVO 2018-08-02 14:13:10 +07:00
subnetpool.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00:00
tag.py Use Tag OVO in neutron/services/tag/tag_plugin.py 2018-08-29 13:00:10 +02:00
trunk.py Allow objects to opt in new engine facade 2018-02-09 04:07:34 +00: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).