diff --git a/quantum/db/l3_db.py b/quantum/db/l3_db.py index 1c6707c2c6..6585733adc 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 741a96bea2..29ca27d9f3 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)