Skip to content

Add Major system leak as an aggregation of multiple Minor leaks in BMC - #2541

Open
judyjoseph wants to merge 8 commits into
sonic-net:masterfrom
judyjoseph:bmc_pmon
Open

judyjoseph wants to merge 8 commits into
sonic-net:masterfrom
judyjoseph:bmc_pmon

Conversation

@judyjoseph

@judyjoseph judyjoseph commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary:

Introduce a MAJOR severity level for liquid-cooling leak handling, alongside the existing MINOR and CRITICAL levels, for both locally-detected system leaks and external Rack Manager alerts.

Key changes:

• Add SYSTEM_LEAK_MAJOR_EVENT and RACK_MGR_MAJOR_EVENT to the BMC event table and renumber the Switch-Host state-transition table accordingly (both default to syslog_only, no power-off).
• Define MAJOR_SYSTEM_LEAK in the thermalctld severity algorithm: triggered when MAX-N or more concurrent Minor leaks are present. Precedence is CRITICAL > MAJOR > MINOR, evaluated top-down.
• Replace the fixed "2 or more Minor leaks" rule with a configurable MAX-N threshold. Default comes from a new platform API get_major_leak_num_min_sensors() (LiquidCoolingBase) - returning 0 means the platform does not support MAJOR classification. Users can override via system_major_leak_num_min_sensors in LEAK_CONTROL_POLICY.
• Add CLI config liquid-cool major-leak-threshold and extend leak-action to accept major.
• Update LEAK_CONTROL_POLICY DB schema and show platform leak control-policy output with the new major actions and threshold (threshold line omitted when the platform returns 0).
• 1 Minor sensor staying as Minor for MAX-T secs also moved to SYSTEM_MAJOR instead of CRITICAL as earlier

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

```
config liquid-cool major-leak-threshold <N>

- N : integer, minimum 2 (a single Minor leak is MINOR_SYSTEM_LEAK). Stored in system_major_leak_num_min_sensors of LEAK_CONTROL_POLICY, overriding the platform-provided value.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Need to add a check in code to make sure it is atleast 2

Comment thread doc/bmc/sonicBMC/pmon-bmc-design.md Outdated
+--------------------------------------+-------------------------------------------+-------------------------------+
| 1 Critical leak | CRITICAL | CRITICAL_SYSTEM_LEAK |
| 2 or more leaks (any severity) | Any Severity | CRITICAL_SYSTEM_LEAK |
| 1 Minor leak staying for MAX-T secs | MINOR | CRITICAL_SYSTEM_LEAK |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

there was a comment from community as to whether we need to change this from CRITICAL --> MAJOR system leak

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@judyjoseph

judyjoseph commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Fraser, @vivekverma-arista @roger-nexthop for review as well - cannot find you in reviewers list

Comment thread doc/bmc/sonicBMC/pmon-bmc-design.md Outdated
@roger-nexthop

Copy link
Copy Markdown
Contributor

Thanks for the updates, Judy. This looks good to me.

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

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.

3 participants