diff --git a/neutron/db/l3_db.py b/neutron/db/l3_db.py index f8640137b9..8575abf66c 100644 --- a/neutron/db/l3_db.py +++ b/neutron/db/l3_db.py @@ -137,7 +137,7 @@ class L3_NAT_db_mixin(l3.RouterPluginBase): router_db = self._create_router_db(context, r, tenant_id, gw_info) if gw_info: self._update_router_gw_info(context, router_db['id'], gw_info) - return self._make_router_dict(router_db, process_extensions=False) + return self._make_router_dict(router_db) def _update_router_db(self, context, router_id, data, gw_info): """Update the DB object and related gw info, if available.""" diff --git a/neutron/plugins/midonet/plugin.py b/neutron/plugins/midonet/plugin.py index 0b590a1874..9bf589959a 100644 --- a/neutron/plugins/midonet/plugin.py +++ b/neutron/plugins/midonet/plugin.py @@ -757,8 +757,7 @@ class MidonetPluginV2(db_base_plugin_v2.NeutronDbPluginV2, self._update_router_gw_info(context, router_db['id'], gw_info) - router_data = self._make_router_dict(router_db, - process_extensions=False) + router_data = self._make_router_dict(router_db) except Exception: # Try removing the midonet router diff --git a/neutron/tests/unit/test_l3_plugin.py b/neutron/tests/unit/test_l3_plugin.py index 945c5ee4b4..4aa4446049 100644 --- a/neutron/tests/unit/test_l3_plugin.py +++ b/neutron/tests/unit/test_l3_plugin.py @@ -520,6 +520,18 @@ class L3NatTestCaseBase(L3NatTestCaseMixin): for k, v in expected_value: self.assertEqual(router['router'][k], v) + def test_router_create_call_extensions(self): + self.extension_called = False + + def _extend_router_dict_test_attr(*args, **kwargs): + self.extension_called = True + + db_base_plugin_v2.NeutronDbPluginV2.register_dict_extend_funcs( + l3.ROUTERS, [_extend_router_dict_test_attr]) + self.assertFalse(self.extension_called) + with self.router(): + self.assertTrue(self.extension_called) + def test_router_create_with_gwinfo(self): with self.subnet() as s: self._set_net_external(s['subnet']['network_id'])