NSX|V: ensure route update is aromic for shared routers

Ensure that the route update is atomic.

Change-Id: Ie3c9d3fdb2505b53839faeacdc1ed1c7e2ad6e2f
This commit is contained in:
Gary Kotton 2016-06-30 06:59:37 -07:00
parent ddfb880d5a
commit dd9d8db3dd

View File

@ -331,11 +331,12 @@ class RouterSharedDriver(router_driver.RouterBaseDriver):
self._add_router_services_on_available_edge(context, self._add_router_services_on_available_edge(context,
router_id) router_id)
else: else:
router_ids = self.edge_manager.get_routers_on_same_edge( with locking.LockManager.get_lock(str(edge_id)):
context, router_id) router_ids = self.edge_manager.get_routers_on_same_edge(
if router_ids: context, router_id)
self._update_routes_on_routers( if router_ids:
context, router_id, router_ids) self._update_routes_on_routers(
context, router_id, router_ids)
def _get_ext_net_ids(self, context, router_ids): def _get_ext_net_ids(self, context, router_ids):
ext_net_ids = [] ext_net_ids = []