Skip to content

Start pmon before other services in BMC platforms#379

Closed
chinmoy-nexthop wants to merge 2 commits into
sonic-net:masterfrom
nexthop-ai:bmc-pmon-service-ordering
Closed

Start pmon before other services in BMC platforms#379
chinmoy-nexthop wants to merge 2 commits into
sonic-net:masterfrom
nexthop-ai:bmc-pmon-service-ordering

Conversation

@chinmoy-nexthop
Copy link
Copy Markdown

Summary

This PR adds platform-aware service ordering for BMC (Aspeed) platforms to ensure proper initialization sequence.

Changes

Feature Priority Ordering for BMC Platforms

On BMC platforms, services are now started in a specific priority order to ensure critical platform monitoring is available before other services:

  1. database - Core database must start first
  2. pmon - Platform monitoring is critical for BMC functionality
  3. lldp - Network discovery
  4. gnmi - Management interface
  5. snmp - Monitoring
  6. redfish - BMC management interface
  7. telemetry - Metrics collection

Implementation Details

  • Added _is_bmc_platform() method to detect BMC/Aspeed platforms by:

    • Checking for switch_bmc=1 in platform_env.conf
    • Checking for "aspeed" in platform_asic file
  • Added _get_bmc_feature_priority_order() to define the priority ordering

  • Modified sync_state_field() to process features in priority order on BMC platforms

Testing

Tested on BMC platforms to ensure:

  • Platform detection works correctly
  • Services start in the correct order
  • pmon initializes before dependent services
  • Non-BMC platforms are unaffected

Motivation

On BMC platforms, platform monitoring (pmon) must be available early in the boot sequence as other services may depend on platform sensors, fan control, and thermal management being operational.

Starting pmon early ensures:

  • Platform hardware is properly initialized
  • Sensors and monitoring are available
  • Thermal management is active before high-load services start
  • Better system stability during boot

Signed-off-by: Chandrasekaran Swaminathan chander@nexthop.ai


Pull Request opened by Augment Code with guidance from the PR author

@mssonicbld
Copy link
Copy Markdown

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@chinmoy-nexthop chinmoy-nexthop force-pushed the bmc-pmon-service-ordering branch from b101e8f to f1976bd Compare April 26, 2026 15:33
@mssonicbld
Copy link
Copy Markdown

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@chinmoy-nexthop chinmoy-nexthop force-pushed the bmc-pmon-service-ordering branch from f1976bd to bec5d75 Compare April 26, 2026 15:35
@mssonicbld
Copy link
Copy Markdown

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

chander-nexthop and others added 2 commits April 26, 2026 15:41
Signed-off-by: Chandrasekaran Swaminathan <chander@nexthop.ai>
Signed-off-by: Chandrasekaran Swaminathan <chander@nexthop.ai>
@chinmoy-nexthop chinmoy-nexthop force-pushed the bmc-pmon-service-ordering branch from bec5d75 to 06a70ef Compare April 26, 2026 15:41
@mssonicbld
Copy link
Copy Markdown

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@chinmoy-nexthop chinmoy-nexthop marked this pull request as ready for review April 26, 2026 16:32
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