Comment 41 for bug 1662678

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/29130
Committed: http://github.org/Juniper/contrail-controller/commit/2009cea7f09ac54add11f2544e985fb35cf25422
Submitter: Zuul (<email address hidden>)
Branch: R3.0.3.x

commit 2009cea7f09ac54add11f2544e985fb35cf25422
Author: Nischal Sheth <email address hidden>
Date: Sat Feb 25 16:04:00 2017 -0800

Fix race condition in BGPaaS peering creation - take 2

If the internal ifmap configuration object for the routing-instance
for the bgp-routers that comprise a bgp-peering does not exist when
processing the bgp-peering, the ifmap config manager does create the
internal ifmap configuration object for the bgp-peering.

This causes the control node to not create the internal ifmap config
object for some bgp-peerings when the control node gets restarted in
a scaled bgpaas configuration. This happens for bgp-peerings which
get processed before the corresponding routing-instance has been
processed.

The previous fix did not cover the case where the notification for a
routing-instance has not been processed when the notification for the
instance-bgp-router link is processed.

Fix this by modifying dependency tracker policy to re-evaluate all of
the bgp-routers for a routing-instance when processing a notification
for the routing-instance itself. This in turn causes a re-evaluation
of all the bgp-peerings for those bgp-routers.

Change-Id: Idc4425c87037aac1eb96f23394bfae536c17546c
Closes-Bug: 1662678