Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test_bgp_ session.py fails when DUT is running FRR unified framework #17376

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sainath-nexthop
Copy link

Description of PR

This PR adds following updates to script test_bgp_session.py:

  1. It adds support to run this script when frr_mgmt_framework_config is set to "true" in DEVICE_METADATA. This change includes check for the knob and if it is enabled the it adds an extra parsing step for bgp_neighbors to consider namespace key in the table.
  2. The second change is to look for any BGP IPv6 neighbors. The script was looking for only 'show ip interface' output and not the 'show ipv6 interface' to populate the interface mapping.
  3. Timeouts in wait_until are increased to give enough time for BGP peers to come up in scale/stress scenario. Tested scenario which needed these timeout values: T1 topology with >6k route scale per neighbor, 16 BGP neighbors with timers 3/10.
  4. It is same as 16934 which was closed because my personal repo was accidentally deleted.

Summary:
Fixes #16933

Type of change

  • Test case improvement

Approach

What is the motivation for this PR?

test_bgp_session.py
fails on the DUT which has BGP-FRR unified framework enabled. The change is to update the script to work for frr_mgmt_framework_config set to true.
frr_mgmt_framework_config setting is in config_db DEVICE_METADATA section.
The change also includes updates to the test_bgp_session.py
script to support BGP IPv6 neighbors. The script was failing when there were IPv6 neighbors configured on the DUT.
Also, timeouts for some wait_until are increased to support T1 topology with >6k route scale, 16 BGP neighbors with timers 3/10.

How did you do it?

Updated the script to add a new def check_frr_mgmt_framework_config, which is called to handle the retrieval of bgp neighbor and neighbor ip values correctly. An if loop is added so the script works for both frr_mgmt_framework_config values.

How did you verify/test it?

bgp/test_bgp_session1.py::test_bgp_session_interface_down[interface-bgp_docker] PASSED [ 16%]
bgp/test_bgp_session1.py::test_bgp_session_interface_down[interface-swss_docker] PASSED [ 33%]
bgp/test_bgp_session1.py::test_bgp_session_interface_down[interface-reboot] PASSED [ 50%]
bgp/test_bgp_session1.py::test_bgp_session_interface_down[neighbor-bgp_docker] PASSED [ 66%]
bgp/test_bgp_session1.py::test_bgp_session_interface_down[neighbor-swss_docker] PASSED [ 83%]
bgp/test_bgp_session1.py::test_bgp_session_interface_down[neighbor-reboot] PASSED [100%]

Any platform specific information?

No

Supported testbed topology if it's a new test case?

N/A

Documentation

N/A

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: test_bgp_ session.py fails when DUT is running FRR unified framework
2 participants