commit 74a9365edd9fb2206c52d8ee9fa781b772d1738d
Author: Attila Fazekas <email address hidden>
Date: Sun May 4 19:54:37 2014 +0200
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.
Reviewed: https:/ /review. openstack. org/92630 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=74a9365edd9 fb2206c52d8ee9f a781b772d1738d
Committed: https:/
Submitter: Jenkins
Branch: stable/icehouse
commit 74a9365edd9fb22 06c52d8ee9fa781 b772d1738d
Author: Attila Fazekas <email address hidden>
Date: Sun May 4 19:54:37 2014 +0200
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 plugin_ rpc.get_ routers call, the additional routers up=false routers, which
notification. If this change happens at the time around the
self.
- by mistake - is considered as admin_state_
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: Icc7377f9c29e24 8c3b34562465e85 9b15ecc2ec3 773d97f1c0bd1f3 cb1e7a6468)
Closes-Bug: #1315467
Partial-Bug: #1253896
(cherry picked from commit 45381fe1c742c75