Summary:
Fixes # (issue) #15630: wait_for_bgp is not working in config_reload
Type of change
[x] Bug fix
[ ] Testbed and Framework(new/improvement)
[ ] Test case(new/improvement)
Back port request
[ ] 202012
[ ] 202205
[ ] 202305
[ ] 202311
[x] 202405
Approach
What is the motivation for this PR?
get_bgp_neighbors_per_asic() only returns BGP neighbors with Established status, so the wait_until always returns directly without any wait.
How did you do it?
I fixed the logic and made get_bgp_neighbors_per_asic() in config_reload() to return all BGP neighbors regardless of their status. Then I fixed the logic in check_bgp_session_state_all_asics() to check if all BGP session states are equal to the target state.
How did you verify/test it?
I ran the updated code and can confirm it's now checking all BGP neighbors
Any platform specific information?
Supported testbed topology if it's a new test case?
Description of PR
Summary: Fixes # (issue) #15630: wait_for_bgp is not working in config_reload
Type of change
Back port request
Approach
What is the motivation for this PR?
get_bgp_neighbors_per_asic()
only returns BGP neighbors with Established status, so the wait_until always returns directly without any wait.How did you do it?
I fixed the logic and made
get_bgp_neighbors_per_asic()
inconfig_reload()
to return all BGP neighbors regardless of their status. Then I fixed the logic incheck_bgp_session_state_all_asics()
to check if all BGP session states are equal to the target state.How did you verify/test it?
I ran the updated code and can confirm it's now checking all BGP neighbors
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation