From acfcb523b15fbd9ccc509e4366e4a141a66d4783 Mon Sep 17 00:00:00 2001 From: Eugene Nikanorov Date: Sun, 28 Sep 2014 21:56:00 +0400 Subject: [PATCH] Refactor _make_subnet_dict to avoid issuing unnecessary queries 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 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/neutron/db/models_v2.py b/neutron/db/models_v2.py index d27c4750a..8def401e7 100644 --- a/neutron/db/models_v2.py +++ b/neutron/db/models_v2.py @@ -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, -- 2.45.2