From f723e1a359ff8079356b05a945c7b82252f2cb42 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Tue, 2 Oct 2012 15:37:49 +0200 Subject: [PATCH] Fix filters default value in get_networks With that change, if get_networks() is called without fields set to something, _filter_nets_l3 fails because it tries to call "filters.get()" where filters is None. This fixes bug #1060047 Change-Id: Ia0787e7a278a3562af5409861762f067d71f2cf6 Signed-off-by: Julien Danjou --- quantum/db/l3_db.py | 2 +- quantum/tests/unit/test_l3_plugin.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/quantum/db/l3_db.py b/quantum/db/l3_db.py index 1c6707c2c..6585733ad 100644 --- a/quantum/db/l3_db.py +++ b/quantum/db/l3_db.py @@ -709,7 +709,7 @@ class L3_NAT_db_mixin(l3.RouterPluginBase): network_id=net_id).delete() def _filter_nets_l3(self, context, nets, filters): - vals = filters.get('router:external', []) + vals = filters and filters.get('router:external', []) if not vals: return nets diff --git a/quantum/tests/unit/test_l3_plugin.py b/quantum/tests/unit/test_l3_plugin.py index 741a96bea..29ca27d9f 100644 --- a/quantum/tests/unit/test_l3_plugin.py +++ b/quantum/tests/unit/test_l3_plugin.py @@ -892,6 +892,12 @@ class L3NatDBTestCase(test_db_plugin.QuantumDbPluginV2TestCase): query_params="%s=False" % l3.EXTERNAL) self.assertEquals(len(body['networks']), 1) + def test_get_network_succeeds_without_filter(self): + plugin = manager.QuantumManager.get_plugin() + ctx = context.Context(None, None, is_admin=True) + result = plugin.get_networks(ctx, filters=None) + self.assertEqual(result, []) + def test_network_filter_hook_admin_context(self): plugin = manager.QuantumManager.get_plugin() ctx = context.Context(None, None, is_admin=True) -- 2.45.2