Add handler in bmcctld for RACK_MANAGER_DATA_TABLE for rack manager telemetry - #880
Open
judyjoseph wants to merge 1 commit into
Open
Add handler in bmcctld for RACK_MANAGER_DATA_TABLE for rack manager telemetry#880judyjoseph wants to merge 1 commit into
judyjoseph wants to merge 1 commit into
Conversation
… which rack manager sends to BMC
Collaborator
|
/azp run |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Collaborator
|
This PR has backport request label(s) for branch(es): msft-202608, but is missing required test information. Please make sure you tick the tested branch(es) in the Tested branch section and provide test evidence (e.g., 202608: <test result>) in the Test result section as well in your PR description. ---Powered by SONiC BuildBot
|
judyjoseph
marked this pull request as ready for review
August 28, 2026 19:17
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
bmcctld now subscribes to RACK_MANAGER_ALERT and gates Switch-Host power-on while any alert reads CRITICAL (has_critical_rack_mgr_alert). Because Rack Manager only writes deviations (CRITICAL/MAJOR/MINOR) to RACK_MANAGER_ALERT and never writes NORMAL, a raised alert never clears itself.
Per the pmon-bmc-design document, Rack Manager also publishes periodic telemetry to a separate STATE_DB table, RACK_MANAGER_DATA, whose purpose is to signal when a critical alert has cleared. This PR adds a handler that consumes that telemetry. When a sensor's telemetry severity returns to NORMAL, the corresponding RACK_MANAGER_ALERT entry is deleted so the power-on gate no longer treats it as active.
REF : https://github.com/sonic-net/SONiC/blob/master/doc/bmc/sonicBMC/pmon-bmc-design.md#2121-db-schema
Motivation and Context
-- Add RACK_MANAGER_DATA subscriber and integrate it into the select loop and file-descriptor-to-handler dispatch map.
-- Add _handle_rack_mgr_data(key, fvs):
-- Read severity from:
severity field for temperature, flow, and pressure telemetry.
leak field for Rack_level_leak.
-- Treat non-NORMAL telemetry as informational only; no action is taken.
Alerts continue to be raised via RACK_MANAGER_ALERT.
-- On NORMAL: Delete only the matching RACK_MANAGER_ALERT| entry (per-key scope).
Clear the cached last-severity value for that key.
Log a notice.
No-op if no active alert exists for that key.
Add RACK_MGR_TELEMETRY_KEYS module constant containing the four supported telemetry sensors:
Inlet_liquid_temperature
Inlet_liquid_flow_rate
Inlet_liquid_pressure
Rack_level_leak
How Has This Been Tested?
Following unit tests are added
Additional Information (Optional)