diff --git a/neutron/db/l3_db.py b/neutron/db/l3_db.py index f5372c0d7c6..d25ec00fa3b 100644 --- a/neutron/db/l3_db.py +++ b/neutron/db/l3_db.py @@ -1716,7 +1716,7 @@ class L3_NAT_dbonly_mixin(l3.RouterPluginBase, def _get_mtus_by_network_list(self, context, network_ids): if not network_ids: return {} - filters = {'network_id': network_ids} + filters = {'id': network_ids} fields = ['id', 'mtu'] networks = self._core_plugin.get_networks(context, filters=filters, fields=fields) diff --git a/neutron/tests/unit/db/test_l3_db.py b/neutron/tests/unit/db/test_l3_db.py index a24df258130..8e0969f8092 100644 --- a/neutron/tests/unit/db/test_l3_db.py +++ b/neutron/tests/unit/db/test_l3_db.py @@ -85,6 +85,22 @@ class TestL3_NAT_dbonly_mixin(base.BaseTestCase): 'address_scope_id': mock.sentinel.address_scope_id, 'network_id': mock.sentinel.network_id}]}, subnets) + def test__get_mtus_by_network_list(self): + """Basic test that the query get_networks is correctly""" + network = {'id': mock.sentinel.network_id, + 'name': mock.sentinel.name, + 'mtu': mock.sentinel.mtu} + with mock.patch.object(directory, 'get_plugin') as get_p: + get_p().get_networks.return_value = [network] + result = self.db._get_mtus_by_network_list( + mock.sentinel.context, [mock.sentinel.network_id]) + get_p().get_networks.assert_called_once_with( + mock.sentinel.context, + filters={'id': [mock.sentinel.network_id]}, + fields=['id', 'mtu']) + self.assertEqual({mock.sentinel.network_id: mock.sentinel.mtu}, + result) + def test__populate_ports_for_subnets_none(self): """Basic test that the method runs correctly with no ports""" ports = []