Skip to content

[202608] code sync from sonic-platform-daemons 202605 to sonic-platform-daemons.msft 202608 - #85

Merged
yijingyan2 merged 2 commits into
Azure:202608from
yijingyan2:202608-code-sync
Sep 2, 2026
Merged

[202608] code sync from sonic-platform-daemons 202605 to sonic-platform-daemons.msft 202608#85
yijingyan2 merged 2 commits into
Azure:202608from
yijingyan2:202608-code-sync

Conversation

@yijingyan2

@yijingyan2 yijingyan2 commented Sep 2, 2026

Copy link
Copy Markdown

Description

Synchronize the upstream sonic-platform-daemons 202605 branch into sonic-platform-daemons.msft 202608 at upstream commit ca27813.

The synchronized upstream change covers BMC platform monitoring improvements:

  • Switch-Host power lifecycle, startup sequencing, admin-state handling, and critical-event logging in bmcctld.
  • Switch-Host thermal mirroring to the BMC and liquid-cooling leak-status updates in thermalctld.
  • Associated unit-test coverage for both daemons.

The functional content of upstream commit ca27813 was already ported to the Microsoft branch by #70, with follow-up fixes in #71, #72, #73, and #83. Conflict resolution therefore preserves the newer Microsoft follow-up behavior. The resulting merge has no net file changes against the current 202608 branch and primarily establishes a common ancestry/synchronization point.

Motivation and Context

Keep sonic-platform-daemons.msft/202608 synchronized with sonic-platform-daemons/202605, record the upstream merge point, and reduce conflicts in subsequent code-sync merges without regressing Microsoft-specific follow-up fixes.

How Has This Been Tested?

  • Verified the resolved daemon scripts compile successfully with python3 -m py_compile.
  • Verified the merge result has no effective file diff against the current Microsoft 202608 branch.
  • Attempted the focused bmcctld and thermalctld pytest suites locally; collection requires SONiC runtime packages (sonic_platform_base and sonic_py_common) that are not installed in the standalone development environment.
  • CI checks are used for validation in the SONiC build environment.

Additional Information (Optional)

  • Source branch: sonic-net/sonic-platform-daemons:202605
  • Source commit: ca27813 ([PMON] Bmcctld improvements & thermalctld: push thermals from Switch-Host --> BMC)
  • Target branch: Azure/sonic-platform-daemons.msft:202608

mssonicbld and others added 2 commits August 31, 2026 09:36
…Host --> BMC (#885)

#### Why I did it
Bmcctld improvements & thermalctld: push thermals from Switch-Host --> BMC

##### Work item tracking
- Microsoft ADO **(number only)**: N/A

#### How I did it

**sonic-bmcctld/scripts/bmcctld**

- Conditional SWITCH_HOST_POWER_ON_DELAY - applied only on REBOOT_CAUSE_POWER_LOSS; skipped on warm/fast/soft reboot.
- GracefulShutdownHandler.execute() cleaned up
- Event-log de-duplication across handler functions
- Rack manager alert : skip when incoming alert matches to existing alert level, prevents unnecessary pub/sub events
- chassis module admin_status : skip when admin_status don't change, prevents unnecessary pub/sub events
- Uses self.chassis.is_liquid_cooled() platform API.
- Update the init_host_state API to derive the device_power_state from get_oper_status platform API which will either ONLINE/OFFLINE.
- Set the default graceful_shutdown_timeout = 0 till we support GNOI graceful shutdown

**sonic-thermalctld/scripts/thermalctld**

- EventLogger class added - stores critical events to syslog and /host/bmc/event.log.
- Switch-Host ↔ BMC, thermals are pushed to BMC, via TEMPERATURE_INFO_STATE_DB table
 - critical temperature breaches logged into BMC event log.
- LiquidCoolingUpdater improvements:
 - writes SYSTEM_LEAK_STATUS only on transitions
 - Per-sensor state updates also only on transitions
- Added the Leak severity escalation logic (MINOR → CRITICAL after max_minor_duration_sec).
- Critical leaks logged via event_logger.
- Add logic to use self.chassis.is_liquid_cooled() also to identify liquid cooled platforms"

#### How to verify it
All Unit tests pass and sonic-mgmt tests for bmcctld and thermalctld pass

#### Which release branch to backport (provide reason below if selected)
- [ ] 201811
- [ ] 201911
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505
- [ ] 202511
- [x] 202605

Signed-off-by: Sonic Build Admin <sonicbld@microsoft.com>
…s.msft 202608

Signed-off-by: Yijing Yan <yijingyan@microsoft.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@lunyue-ms Lun Yue (lunyue-ms) left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM

@yijingyan2
yijingyan2 merged commit 6ba7c61 into Azure:202608 Sep 2, 2026
2 checks passed
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