Skip to content

HLD Sonic-Redfish with D-Bus Bridge#2

Open
chinmoy-nexthop wants to merge 2 commits intosonic-net:masterfrom
nexthop-ai:feature/hld
Open

HLD Sonic-Redfish with D-Bus Bridge#2
chinmoy-nexthop wants to merge 2 commits intosonic-net:masterfrom
nexthop-ai:feature/hld

Conversation

@chinmoy-nexthop
Copy link

@chinmoy-nexthop chinmoy-nexthop commented Mar 12, 2026

The SONiC D-Bus Bridge High-Level Design (HLD) document describes a service that runs on the BMC (ASPEED) to expose SONiC switch inventory and state information via OpenBMC-compatible D-Bus interfaces, enabling bmcweb to serve Redfish APIs without requiring a full OpenBMC stack.

Key Features:

  • Data Integration: Aggregates data from multiple sources (Redis CONFIG_DB/STATE_DB, FRU EEPROMs, platform.json) with defined precedence rules
  • D-Bus Export: Exposes chassis inventory, system information, and host state via standard OpenBMC D-Bus interfaces
  • Event-Driven Updates: Uses Redis keyspace notifications for real-time synchronization
  • Host Power Control: Translates Redfish power control requests to SONiC STATE_DB commands
  • Redfish API Support: Enables Rack Manager integration for firmware management, power control, alerts, event subscriptions, and telemetry data collection

@mssonicbld
Copy link

/azp run

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

The SONiC D-Bus Bridge High-Level Design (HLD) document describes a service that
runs on the BMC (ASPEED) to expose SONiC switch inventory and state information via
OpenBMC-compatible D-Bus interfaces, enabling bmcweb to serve Redfish APIs without
requiring a full OpenBMC stack.

Key Features:

- Data Integration: Aggregates data from multiple sources (Redis CONFIG_DB/STATE_DB,
  FRU EEPROMs, platform.json) with defined precedence rules
- D-Bus Export: Exposes chassis inventory, system information, and host state via
  standard OpenBMC D-Bus interfaces
- Event-Driven Updates: Uses Redis keyspace notifications for real-time synchronization
- Host Power Control: Translates Redfish power control requests to SONiC STATE_DB commands
- Redfish API Support: Enables Rack Manager integration for firmware management, power
  control, alerts, event subscriptions, and telemetry data collection

Signed-off-by: Chinmoy Dey <chinmoy@nexthop.ai>
@mssonicbld
Copy link

/azp run

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

- Reflect changes in DEVICE_METADATA and CHASSIS_STATE into D-Bus properties.
- Publish host power transition requests into STATE_DB for the host to consume.
- Expose Redfish APIs for firmware management, alerting, event subscription and telemetry.
- Support certificate installation for secure communication (TBD).

Choose a reason for hiding this comment

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

Certificate installation is a requirement. Implementation details can be hashed out but those APIs will be supported.

Copy link
Author

Choose a reason for hiding this comment

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

Certificate management is not within scope. Certificate creation, installation, and lifecycle management should be delegated to an automated certificate management service.


## 9. Restrictions / Limitations

- Only minimal inventory and host power control are implemented so far, ensors, fans, PSUs and logs are not yet exposed.

Choose a reason for hiding this comment

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

ensors-->sensors

- Finalize STATE_DB schema documentation for host request publishing.
- Decide on CLI/ConfigDB knobs to enable/disable the bridge per platform.
- Extend the design to cover sensors, fans, PSUs and additional Redfish resources.
- **Test Integration with SONiC Management**: Create automated test suite covering unit tests (component-level), functional tests (D-Bus interface validation), and integration tests (end-to-end Redfish workflows). Leverage existing SONiC management test framework
Copy link

@roger-nexthop roger-nexthop Mar 16, 2026

Choose a reason for hiding this comment

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

We can create a separate document with sonic-redfish test plan

Copy link
Author

Choose a reason for hiding this comment

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

Sure @roger-nexthop, I will take care of this section in a separate document.

Signed-off-by: Chinmoy Dey <chinmoy@nexthop.ai>
@mssonicbld
Copy link

/azp run

@azure-pipelines
Copy link

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