Skip to content

Commit 3bcec08

Browse files
sanjair-githdwhdw
authored andcommitted
BGP [T2] - Update neighbor admin down only for specific asic under test (sonic-net#14124)
Description of PR Summary: Fixes # (issue) This PR fixes issue on 'test_bgp_peer_shutdown.py', when the test runs on T2 multi-asic dut. Whole test operates on one of the asic but during bgp teardown session; while removing newly added neighbor config, test runs sonic-db-cli command on both asics of the dut, which creates a dummy neighbor entry on the other asic. Due to this, test fails with the following reason, with capture_bgp_packages_to_file(duthost, "any", bgp_pcap, n0.namespace): n0.teardown_session() if not wait_until( WAIT_TIMEOUT, 5, 20, lambda: is_neighbor_session_down(duthost, n0), ): > pytest.fail("Could not tear down bgp session") E Failed: Could not tear down bgp session Approach What is the motivation for this PR? Test creates a dummy bgp neighbor entry on the other asic, where the test is not operating. Due to this test fails. For example, dummy entry 20.0.0.1 on the other asic is shown below. show ip bgp sum IPv4 Unicast Summary (VRF default): BGP router identifier 8.0.0.2, local AS number 65100 vrf-id 0 BGP table version 4468 RIB entries 3245, using 710 KiB of memory Peers 6, using 4348 KiB of memory Peer groups 4, using 256 bytes of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt Desc 10.0.0.7 4 65200 29995 30093 0 0 0 1d00h57m 1057 1611 ARISTA04T3 10.0.0.11 4 65200 29994 30094 0 0 0 1d00h57m 1058 1611 ARISTA06T3 20.0.0.1 4 0 0 0 0 0 0 never Connect 0 N/A 3.3.3.0 4 65100 29964 29991 0 0 0 1d00h50m 2057 2119 ASIC0 3.3.3.42 4 65100 29882 29988 0 0 0 1d00h50m 133 2119 ixre-egl-board182-AS 3.3.3.44 4 65100 29912 29990 0 0 0 1d00h50m 134 2119 ixre-egl-board182-AS How did you do it? While removing new bgp neighbor config, make sure it is removed only for the specific asic under test. How did you verify/test it? Ran all the above-mentioned test case on a T2 multi-asic chassis and made sure test passed with expected behavior. Any platform specific information? Supported testbed topology if it's a new test case? Documentation image co-authorized by: [email protected]
1 parent ba8222f commit 3bcec08

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

tests/common/helpers/bgp.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,9 @@ def teardown_session(self):
114114
self.ptfhost.exabgp(name=self.name, state="stopped")
115115
if not self.is_passive:
116116
for asichost in self.duthost.asics:
117-
logging.debug("update CONFIG_DB admin_status to down")
118-
asichost.run_sonic_db_cli_cmd("CONFIG_DB hset 'BGP_NEIGHBOR|{}' admin_status down".format(self.ip))
117+
if asichost.namespace == self.namespace:
118+
logging.debug("update CONFIG_DB admin_status to down on {}".format(asichost.namespace))
119+
asichost.run_sonic_db_cli_cmd("CONFIG_DB hset 'BGP_NEIGHBOR|{}' admin_status down".format(self.ip))
119120

120121
def announce_route(self, route):
121122
if "aspath" in route:

0 commit comments

Comments
 (0)