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
This commit is contained in:
Carl Baldwin 2014-10-21 19:44:18 +00:00 committed by Cedric Brandily
parent b545fe9fb0
commit 2f4e7b53a3

View File

@ -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])