Skip to content

[ModuleBase] Add get_midplane_down_reason() API - #705

Open
chartsai-nvidia wants to merge 3 commits into
sonic-net:masterfrom
chartsai-nvidia:chartsai/pmon-hld-update
Open

[ModuleBase] Add get_midplane_down_reason() API#705
chartsai-nvidia wants to merge 3 commits into
sonic-net:masterfrom
chartsai-nvidia:chartsai/pmon-hld-update

Conversation

@chartsai-nvidia

@chartsai-nvidia chartsai-nvidia commented Jul 2, 2026

Copy link
Copy Markdown

Why I did it

Modular chassis and SmartSwitch platforms need a standard way to report why a module's
midplane went down. ModuleBase exposes reachability but does not expose the reason.
This API is part of the DPU robustness HLD.

Work item tracking
  • Microsoft ADO (number only): N/A

How I did it

  • Added ModuleBase.get_midplane_down_reason() with a (reason, description) return
    contract.
  • Reused the platform-agnostic ChassisBase.REBOOT_CAUSE_* constants instead of
    redefining equivalent constants in ModuleBase.
  • Added get_midplane_down_reason to the parameterized test that verifies base methods
    raise NotImplementedError.

How to verify it

cd src/sonic-platform-common
pytest tests/module_base_test.py

The targeted test suite passed with 117 tests.

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

  • 201811
  • 201911
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305
  • 202311
  • 202405
  • 202411

Description for the changelog

Add ModuleBase API for reporting midplane down reasons

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

@mssonicbld

Copy link
Copy Markdown
Collaborator

Hi, there are workflow run(s) waiting for approval, you may be first-time contributor. I will notify maintainers to help approve once PR is approved. Thanks!

---Powered by SONiC BuildBot

dgsudharsan
dgsudharsan previously approved these changes Jul 7, 2026
@mssonicbld

Copy link
Copy Markdown
Collaborator

Hi @sonic-net/sonic-platform-common-maintainer, this approved PR has workflow run(s) waiting for approval. Please help review. Thanks!

---Powered by SONiC BuildBot

1 similar comment
@mssonicbld

Copy link
Copy Markdown
Collaborator

Hi @sonic-net/sonic-platform-common-maintainer, this approved PR has workflow run(s) waiting for approval. Please help review. Thanks!

---Powered by SONiC BuildBot

Comment thread sonic_platform_base/module_base.py Outdated
Comment thread sonic_platform_base/module_base.py
Signed-off-by: Charles Tsai <chartsai@nvidia.com>
Signed-off-by: Charles Tsai <chartsai@nvidia.com>
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

@chartsai-nvidia chartsai-nvidia changed the title [ModuleBase] Add get_midplane_down_reason() API and MIDPLANE_DOWN_REASON_* constants [ModuleBase] Add get_midplane_down_reason() API Jul 24, 2026
Signed-off-by: Charles Tsai <chartsai@nvidia.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.

5 participants