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/28631 github. org/Juniper/ contrail- controller/ commit/ fd55ab3c1966c1e 4d0c98c98710d54 8ecd0909c3
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit fd55ab3c1966c1e 4d0c98c98710d54 8ecd0909c3
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