sonic-net / sonic-mgmt

Configuration management examples for SONiC
Other
200 stars 732 forks source link

fix: return all BGP neighbors for config reload #15634

Closed cyw233 closed 1 week ago

cyw233 commented 1 week ago

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() 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?

Documentation

bingwang-ms commented 1 week ago

Thanks for the fix. LGTM

mssonicbld commented 1 week ago

Cherry-pick PR to 202405: https://github.com/sonic-net/sonic-mgmt/pull/15655