[router['id'] for router in routers])
cur_router_ids = set()
for r in routers:
- if not r['admin_state_up']:
- continue
-
# If namespaces are disabled, only process the router associated
# with the configured agent id.
if (not self.conf.use_namespaces and
len(self.updated_routers))
if self.updated_routers:
router_ids = list(self.updated_routers)
- self.updated_routers.clear()
routers = self.plugin_rpc.get_routers(
self.context, router_ids)
+
+ fetched = set([r['id'] for r in routers])
+ self.removed_routers.update(self.updated_routers - fetched)
+ self.updated_routers.clear()
+
self._process_routers(routers)
self._process_router_delete()
LOG.debug(_("RPC loop successfully completed"))
namespace=ri.ns_name,
prefix=l3_agent.EXTERNAL_DEV_PREFIX)
- def test_routers_with_admin_state_down(self):
- agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
- self.plugin_api.get_external_network_id.return_value = None
-
- routers = [
- {'id': _uuid(),
- 'admin_state_up': False,
- 'external_gateway_info': {}}]
- agent._process_routers(routers)
- self.assertNotIn(routers[0]['id'], agent.router_info)
-
def test_router_deleted(self):
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
agent.router_deleted(None, FAKE_ID)