Skip to content

Test_FRR_Config_Check T1 Update - #26894

Open
sresri2 wants to merge 3 commits into
sonic-net:masterfrom
sresri2:test_frr_config_check_t1_update
Open

Test_FRR_Config_Check T1 Update#26894
sresri2 wants to merge 3 commits into
sonic-net:masterfrom
sresri2:test_frr_config_check_t1_update

Conversation

@sresri2

@sresri2 sresri2 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Description of PR

Summary:
Enable test_frr_config_check on multi-ASIC T1 by scoping FRR file reads and 'show running-config' to each frontend ASIC. Behavior on T0 / single-ASIC T1 remains the same.

The test previously compared FRR config files against vtysh running-config, but it only used the global frr path and host-level vtysh. On multi-ASIC DUTs, each frontend ASIC runs its own bgp{N} container and requires vtysh scoped per-ASIC. Due to the restriction, the test was skipped on VS T1 multi-ASIC.

Changes:

  • Add helpers to iterate frontend ASICs and resolve container names individually for each ASIC BGP.
  • Read FRR config files separately on multi-ASIC; keeping previous method on single-ASIC.
  • Add _collect_missing_frr_configs() to verify all frontend ASICs.
  • Include T1 topologies in topo mark on file.
  • Remove the conditional skip for this test.

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • New Test case
    • Skipped for non-supported platforms
  • Test case improvement

Back port request

  • 202311
  • 202405
  • 202411
  • 202505
  • 202511
  • 202512
  • 202605

Tracking issue/work item for backport/cherry-pick request (GitHub issue or Microsoft ADO):
Failure type:

Tested branch

  • master
  • 202311
  • 202405
  • 202411
  • 202505
  • 202511
  • 202512
  • 202605
  • N/A

Test result

N/A

Approach

What is the motivation for this PR?

test_frr_config_check validates that FRR on-disk config files match the live running-config after config reload. The test logic was originally written just for single-ASIC topologies and was skipped on VS T1 multi-ASIC because it only inspected the default BGP instance and host FRR paths rather than per-ASIC containers as needed on multi-ASIC topologies.

How did you do it?

  • On multi-ASIC DUTs, loop over frontend ASICs (IDs).
  • For each ASIC, list and read config files from the corresponding bgp{N} container.
  • For each ASIC, independently fetch running-config.
  • Compare file contents to running-config per ASIC.
  • Single-ASIC path is unchanged from before.
  • Removed the skip from tests_mark_conditions_vs_t1_multiasic.yaml.

How did you verify/test it?

  • Local review of multi-ASIC code and verification of code and functionality for previous and multi-ASIC topologies.
  • Full validation via GitHub pipeline / tests for all testbeds.

Any platform specific information?

N/A

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

Existing test, logic extended to t1, t1-lag, t1-8-lag. Not applicable to T2 in this change.

Documentation

N/A.

Signed-off-by: sresri2 <125845681+sresri2@users.noreply.github.com>
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

@StormLiangMS @wangxin @yxieca A user wants to merge changes to the conditional mark files into master. Please review.

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

- Missing whitespace for static analysis check

Signed-off-by: sresri2 <125845681+sresri2@users.noreply.github.com>
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
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.

2 participants