Existing code prevents the same node from getting added to the change
list multiple times. This can cause problems if there's some mutual
dependency between the nodes.
In the case of this bug, a bgp-peering happened to be on the change
list, followed by the bgp-router object for the local control node.
The bgp-peering should have been added to the change list again as
part of the dependency evaluation for the bgp-router. However, it
was not added since it was already on the list. This caused an issue
because the local router id was not available when the bgp-peering
was evaluated. The local router id became available when bgp-router
was evaluated, but the bgp-peering was never evaluated again.
Reviewed: https:/ /review. opencontrail. org/12121 github. org/Juniper/ contrail- controller/ commit/ fcdc384380b825a 91ffaa251bd5814 59ada26a4a
Committed: http://
Submitter: Zuul
Branch: R2.0
commit fcdc384380b825a 91ffaa251bd5814 59ada26a4a
Author: Nischal Sheth <email address hidden>
Date: Tue Jun 30 16:48:53 2015 -0700
Fix corner case in IFMapDependency Tracker
Existing code prevents the same node from getting added to the change
list multiple times. This can cause problems if there's some mutual
dependency between the nodes.
In the case of this bug, a bgp-peering happened to be on the change
list, followed by the bgp-router object for the local control node.
The bgp-peering should have been added to the change list again as
part of the dependency evaluation for the bgp-router. However, it
was not added since it was already on the list. This caused an issue
because the local router id was not available when the bgp-peering
was evaluated. The local router id became available when bgp-router
was evaluated, but the bgp-peering was never evaluated again.
Change-Id: I54404ee8505d31 aff49d153afd8b9 3488611c638
Closes-Bug: 1470256