From 5fd0d90df40cd0d3eb8921d3c5d8269045a904eb Mon Sep 17 00:00:00 2001 From: Mitchell Jameson Date: Tue, 26 Jul 2022 12:05:14 -0700 Subject: [PATCH] Ensure queries are executed in reader sessions Change-Id: I8d233e3b6025e4580fc3291cdffe4af19fd14305 --- networking_arista/common/db_lib.py | 14 +++++++------- test-requirements.txt | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/networking_arista/common/db_lib.py b/networking_arista/common/db_lib.py index d5219d66..c135f234 100644 --- a/networking_arista/common/db_lib.py +++ b/networking_arista/common/db_lib.py @@ -222,7 +222,7 @@ def get_networks(network_id=None): l3ha_network.network_id == model.id)) if network_id is not None: networks = networks.filter(model.id == network_id) - return networks.all() + return networks.all() def get_segments(segment_id=None): @@ -233,7 +233,7 @@ def get_segments(segment_id=None): segments = session.query(model).filter_network_type() if segment_id is not None: segments = segments.filter(model.id == segment_id) - return segments.all() + return segments.all() def get_instances(device_owners=None, vnic_type=None, instance_id=None): @@ -258,7 +258,7 @@ def get_instances(device_owners=None, vnic_type=None, instance_id=None): .filter_unnecessary_ports(device_owners, vnic_type)) if instance_id is not None: instances = instances.filter(port_model.device_id == instance_id) - return instances.all() + return instances.all() def get_dhcp_instances(instance_id=None): @@ -301,7 +301,7 @@ def get_ports(device_owners=None, vnic_type=None, port_id=None, active=True): .filter_unnecessary_ports(device_owners, vnic_type, active)) if port_id is not None: ports = ports.filter(port_model.id == port_id) - return ports.all() + return ports.all() def get_dhcp_ports(port_id=None): @@ -400,9 +400,9 @@ def get_port_bindings(binding_key=None): dist_bindings = dist_bindings.filter(and_( dist_binding_model.port_id == port_id, dist_binding_model.host == host_id)) - binding_levels = collections.defaultdict(list) - for binding, level in bindings.all() + dist_bindings.all(): - binding_levels[binding].append(level) + binding_levels = collections.defaultdict(list) + for binding, level in bindings.all() + dist_bindings.all(): + binding_levels[binding].append(level) bindings_with_levels = list() for binding, levels in binding_levels.items(): binding.levels = levels diff --git a/test-requirements.txt b/test-requirements.txt index 6e7d604e..796e6943 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -11,3 +11,4 @@ stestr>=1.0.0 # Apache-2.0 testtools>=2.2.0 # MIT testresources>=2.0.0 # Apache-2.0/BSD testscenarios>=0.4 # Apache-2.0/BSD +WebTest>=2.0.27 # MIT