]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Refactor _make_subnet_dict to avoid issuing unnecessary queries
authorEugene Nikanorov <enikanorov@mirantis.com>
Sun, 28 Sep 2014 17:56:00 +0000 (21:56 +0400)
committerEugene Nikanorov <enikanorov@mirantis.com>
Wed, 15 Oct 2014 07:02:21 +0000 (11:02 +0400)
Use joined loads for attributes dns_nameservers and host_routes.

As a result, particular scenarios like restarting DHCP agent
could benefit from improved server-side performance.

Change-Id: I6470356b601e2fcf74c7e0a6df438cef7099e9fe
Closes-Bug: #1374044

neutron/db/models_v2.py

index d27c4750a3d60d1280a98b9c390da47c2cbcff7d..8def401e7ddb1fd67f238d675455ba2f314279ff 100644 (file)
@@ -184,10 +184,12 @@ class Subnet(model_base.BASEV2, HasId, HasTenant):
     enable_dhcp = sa.Column(sa.Boolean())
     dns_nameservers = orm.relationship(DNSNameServer,
                                        backref='subnet',
-                                       cascade='all, delete, delete-orphan')
+                                       cascade='all, delete, delete-orphan',
+                                       lazy='joined')
     routes = orm.relationship(SubnetRoute,
                               backref='subnet',
-                              cascade='all, delete, delete-orphan')
+                              cascade='all, delete, delete-orphan',
+                              lazy='joined')
     shared = sa.Column(sa.Boolean)
     ipv6_ra_mode = sa.Column(sa.Enum(constants.IPV6_SLAAC,
                                      constants.DHCPV6_STATEFUL,