From d87c3cdba36f4d2fc5e35793b56ab269a9f1bc49 Mon Sep 17 00:00:00 2001 From: Carl Baldwin Date: Tue, 21 Oct 2014 19:44:18 +0000 Subject: [PATCH] Tighten up try/except block around rpc call The try is too broad. This commit moves code outside of the try block where exceptions are not expected to be raised. This only leaves the rpc call in the current code. In legacy code, there used to be more but now this code merely queues updates for workers to handle in other threads. Change-Id: I15407553fc6ad6eeb5b483499fe1a5adffe1edca --- neutron/agent/l3_agent.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/neutron/agent/l3_agent.py b/neutron/agent/l3_agent.py index 912a029f2..fab376c25 100644 --- a/neutron/agent/l3_agent.py +++ b/neutron/agent/l3_agent.py @@ -1850,15 +1850,22 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback, if self._clean_stale_namespaces: namespaces = self._list_namespaces() prev_router_ids = set(self.router_info) + timestamp = timeutils.utcnow() try: - timestamp = timeutils.utcnow() if self.conf.use_namespaces: routers = self.plugin_rpc.get_routers(context) else: routers = self.plugin_rpc.get_routers(context, [self.conf.router_id]) + except messaging.MessagingException: + LOG.exception(_LE("Failed synchronizing routers due to RPC error")) + self.fullsync = True + except Exception: + LOG.exception(_LE("Failed synchronizing routers")) + self.fullsync = True + else: LOG.debug('Processing :%r', routers) for r in routers: update = RouterUpdate(r['id'], @@ -1868,13 +1875,7 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback, self._queue.add(update) self.fullsync = False LOG.debug("periodic_sync_routers_task successfully completed") - except messaging.MessagingException: - LOG.exception(_LE("Failed synchronizing routers due to RPC error")) - self.fullsync = True - except Exception: - LOG.exception(_LE("Failed synchronizing routers")) - self.fullsync = True - else: + # Resync is not necessary for the cleanup of stale namespaces curr_router_ids = set([r['id'] for r in routers]) -- 2.45.2