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

Changes to support TSA/TSB from supervisor of SONIC chassis #14691

Merged
merged 1 commit into from
Apr 28, 2023

Conversation

tjchadaga
Copy link
Contributor

@tjchadaga tjchadaga commented Apr 17, 2023

Why I did it

Support for SONIC chassis isolation using TSA and un-isolation using TSB from supervisor module

Work item tracking
  • Microsoft ADO (number only): 17826134

How I did it

When TSA is run on the supervisor, it triggers TSA on each of the linecards using the secure rexec infrastructure introduced in sonic-net/sonic-utilities#2701. User password is requested to allow secure login to linecards through ssh, before execution of TSA/TSB on the linecards

TSA of the chassis withdraws routes from all the external BGP neighbors on each linecard, in order to isolate the entire chassis. No route withdrawal is done from the internal BGP sessions between the linecards to prevent transient drops during internal route deletion. With these changes, complete isolation of a single linecard using TSA will not be possible (a separate CLI/script option will be introduced at a later time to achieve this)

Changes also include no-stats option with TSC for quick retrieval of the current system isolation state

This PR also reverts changes in #11403

How to verify it

These changes have a dependency on sonic-net/sonic-utilities#2701 for testing

  1. Run TSA from supervisor module and ensure transition to Maintenance mode on each linecard
  2. Verify that all routes are withdrawn from eBGP neighbors on all linecards
  3. Run TSB from supervisor module and ensure transition to Normal mode on each linecard
  4. Verify that all routes are re-advertised from eBGP neighbors on all linecards
  5. Run TSC no-stats from supervisor and verify that just the system maintenance state is returned from all linecards

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211

Tested branch (Please provide the tested image version)

  • 202205

Description for the changelog

SONIC chassis TSA/TSB support from supervisor module

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

@tjchadaga tjchadaga marked this pull request as ready for review April 21, 2023 23:10
@tjchadaga tjchadaga requested a review from arlakshm April 21, 2023 23:10
@tjchadaga tjchadaga added the Chassis 🤖 Modular chassis support label Apr 21, 2023
@tjchadaga tjchadaga self-assigned this Apr 21, 2023
@tjchadaga tjchadaga requested review from abdosi and rlhui April 25, 2023 20:32
Copy link
Contributor

@StormLiangMS StormLiangMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@StormLiangMS StormLiangMS merged commit ca22486 into sonic-net:master Apr 28, 2023
mssonicbld pushed a commit to mssonicbld/sonic-buildimage that referenced this pull request Apr 28, 2023
Why I did it
Support for SONIC chassis isolation using TSA and un-isolation using TSB from supervisor module

Work item tracking
Microsoft ADO (number only): 17826134
How I did it
When TSA is run on the supervisor, it triggers TSA on each of the linecards using the secure rexec infrastructure introduced in sonic-net/sonic-utilities#2701. User password is requested to allow secure login to linecards through ssh, before execution of TSA/TSB on the linecards

TSA of the chassis withdraws routes from all the external BGP neighbors on each linecard, in order to isolate the entire chassis. No route withdrawal is done from the internal BGP sessions between the linecards to prevent transient drops during internal route deletion. With these changes, complete isolation of a single linecard using TSA will not be possible (a separate CLI/script option will be introduced at a later time to achieve this)

Changes also include no-stats option with TSC for quick retrieval of the current system isolation state

This PR also reverts changes in sonic-net#11403

How to verify it
These changes have a dependency on sonic-net/sonic-utilities#2701 for testing

Run TSA from supervisor module and ensure transition to Maintenance mode on each linecard
Verify that all routes are withdrawn from eBGP neighbors on all linecards
Run TSB from supervisor module and ensure transition to Normal mode on each linecard
Verify that all routes are re-advertised from eBGP neighbors on all linecards
Run TSC no-stats from supervisor and verify that just the system maintenance state is returned from all linecards
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202211: #14878

mlok-nokia pushed a commit to mlok-nokia/sonic-buildimage that referenced this pull request Jun 5, 2024
Why I did it
Support for SONIC chassis isolation using TSA and un-isolation using TSB from supervisor module

Work item tracking
Microsoft ADO (number only): 17826134
How I did it
When TSA is run on the supervisor, it triggers TSA on each of the linecards using the secure rexec infrastructure introduced in sonic-net/sonic-utilities#2701. User password is requested to allow secure login to linecards through ssh, before execution of TSA/TSB on the linecards

TSA of the chassis withdraws routes from all the external BGP neighbors on each linecard, in order to isolate the entire chassis. No route withdrawal is done from the internal BGP sessions between the linecards to prevent transient drops during internal route deletion. With these changes, complete isolation of a single linecard using TSA will not be possible (a separate CLI/script option will be introduced at a later time to achieve this)

Changes also include no-stats option with TSC for quick retrieval of the current system isolation state

This PR also reverts changes in sonic-net#11403

How to verify it
These changes have a dependency on sonic-net/sonic-utilities#2701 for testing

Run TSA from supervisor module and ensure transition to Maintenance mode on each linecard
Verify that all routes are withdrawn from eBGP neighbors on all linecards
Run TSB from supervisor module and ensure transition to Normal mode on each linecard
Verify that all routes are re-advertised from eBGP neighbors on all linecards
Run TSC no-stats from supervisor and verify that just the system maintenance state is returned from all linecards
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chassis for 202205 branch PRs needed for 202205 branch in msft repo Chassis 🤖 Modular chassis support Included in Chassis for 202205 Branch Indicate PR is already in MSFT repo 202205 branch Included in 202211 Branch Request for 202211 Branch
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants