]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
L3 RPC loop could delete a router on concurrent update
authorAttila Fazekas <afazekas@redhat.com>
Sun, 4 May 2014 17:54:37 +0000 (19:54 +0200)
committerThomas Goirand <thomas@goirand.fr>
Mon, 9 Jun 2014 15:06:54 +0000 (23:06 +0800)
commitc5ebe66bcd09e24c169bec3b6fc1d138dba231ee
tree928fc846f05bafa036a49ec6ce1e8521bec7b7e7
parenta10ca5912a375ee2b8c0219ca33d578c6b2bb2ea
L3 RPC loop could delete a router on concurrent update

routers_updated does not acquire any lock just updates
a set for future rpc loop processing.

The self.updated_routers can be changed by concurrent update
notification. If this change happens at the time around the
self.plugin_rpc.get_routers call, the additional routers
- by mistake - is considered as admin_state_up=false routers, which
 are safe to delete.

Creating a local copy of the updated_routers and preserve
the fresh updated_routers entries for the next _rpc_loop
operations.

Change-Id: Icc7377f9c29e248c3b34562465e859b15ecc2ec3
Closes-Bug: #1315467
Partial-Bug: #1253896
(cherry picked from commit 45381fe1c742c75773d97f1c0bd1f3cb1e7a6468)
neutron/agent/l3_agent.py