Adding LOG statements to debug 1838449

Adding LOG statements to debug 1838449

Conflicts:
    neutron/api/rpc/handlers/l3_rpc.py
    neutron/db/l3_dvrscheduler_db.py

Change-Id: I6f9cbe2e6b4ea0f122f5f8318dbbc31fce6b61f4
Related-Bug: #1838449
(cherry picked from commit 12760c94c8)
This commit is contained in:
Miguel Lavalle 2019-08-18 20:27:15 -05:00 committed by Slawek Kaplonski
parent d25457e049
commit 72909dffb1
2 changed files with 19 additions and 0 deletions

View File

@ -116,12 +116,19 @@ 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 utils.is_extension_supported(
self.plugin, constants.PORT_BINDING_EXT_ALIAS):
self._ensure_host_set_on_ports(context, host, routers)
# refresh the data structure after ports are bound
routers = self._routers_to_sync(context, router_ids, host)
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):

View File

@ -21,6 +21,7 @@ from neutron_lib import constants as n_const
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_
@ -398,6 +399,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
@ -424,13 +428,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