diff --git a/neutron/api/rpc/handlers/l3_rpc.py b/neutron/api/rpc/handlers/l3_rpc.py index 974730ec584..b794efe1400 100644 --- a/neutron/api/rpc/handlers/l3_rpc.py +++ b/neutron/api/rpc/handlers/l3_rpc.py @@ -116,6 +116,9 @@ class L3RpcCallback(object): router_ids = kwargs.get('router_ids') host = kwargs.get('host') context = neutron_context.get_admin_context() + LOG.debug('Sync routers for ids %(router_ids)s in %(host)s', + {'router_ids': router_ids, + 'host': host}) routers = self._routers_to_sync(context, router_ids, host) if extensions.is_extension_supported( self.plugin, constants.PORT_BINDING_EXT_ALIAS): @@ -125,6 +128,10 @@ class L3RpcCallback(object): pf_plugin = directory.get_plugin(plugin_constants.PORTFORWARDING) if pf_plugin: pf_plugin.sync_port_forwarding_fip(context, routers) + LOG.debug('The sync data for ids %(router_ids)s in %(host)s is: ' + '%(routers)s', {'router_ids': router_ids, + 'host': host, + 'routers': routers}) return routers def _routers_to_sync(self, context, router_ids, host=None): diff --git a/neutron/db/l3_dvrscheduler_db.py b/neutron/db/l3_dvrscheduler_db.py index d6c52c07a7f..c6644f00000 100644 --- a/neutron/db/l3_dvrscheduler_db.py +++ b/neutron/db/l3_dvrscheduler_db.py @@ -23,6 +23,7 @@ from neutron_lib.exceptions import l3 as l3_exc from neutron_lib.plugins import constants as plugin_constants from neutron_lib.plugins import directory from oslo_config import cfg +from oslo_log import helpers as log_helpers from oslo_log import log as logging from sqlalchemy import or_ @@ -401,6 +402,9 @@ class L3_DVRsch_db_mixin(l3agent_sch_db.L3AgentSchedulerDbMixin): result_set = set(super(L3_DVRsch_db_mixin, self)._get_router_ids_for_agent( context, agent_db, router_ids)) + LOG.debug("Routers %(router_ids)s bound to L3 agent in host %(host)s", + {'router_ids': result_set, + 'host': agent_db['host']}) router_ids = set(router_ids or []) if router_ids and result_set == router_ids: # no need for extra dvr checks if requested routers are @@ -427,13 +431,21 @@ class L3_DVRsch_db_mixin(l3agent_sch_db.L3AgentSchedulerDbMixin): list(subnet_ids))): result_set.add(router_id) + LOG.debug("Routers %(router_ids)s are scheduled or have " + "serviceable ports in host %(host)s", + {'router_ids': result_set, + 'host': agent_db['host']}) for dvr_router in dvr_routers: result_set |= set( self._get_other_dvr_router_ids_connected_router( context, dvr_router)) + LOG.debug("Router IDs %(router_ids)s for agent in host %(host)s", + {'router_ids': result_set, + 'host': agent_db['host']}) return list(result_set) + @log_helpers.log_method_call def _check_dvr_serviceable_ports_on_host(self, context, host, subnet_ids): """Check for existence of dvr serviceable ports on host