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.
Fix this by modifying dependency tracker policy to re-evaluate all of
the bgp-peerings for a bgp-router when processing a notification for
the instance-bgp-router edge on the bgp-router.
Reviewed: https:/ /review. opencontrail. org/28635 github. org/Juniper/ contrail- controller/ commit/ b97f08960b597df f4e1fd586f16e88 db2de2ba42
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R3.2
commit b97f08960b597df f4e1fd586f16e88 db2de2ba42
Author: Nischal Sheth <email address hidden>
Date: Wed Feb 8 21:05:10 2017 -0800
Fix race condition in BGPaaS peering creation
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.
Fix this by modifying dependency tracker policy to re-evaluate all of
the bgp-peerings for a bgp-router when processing a notification for
the instance-bgp-router edge on the bgp-router.
Change-Id: Id74dda2573491d d7d8df8d9c09d88 1dc6aa0e95c
Closes-Bug: 1662678