Onboarding NPIs to Install Module

This document describes how to enable and configure the tlBMC Install Module for an NPI. This module enables firmware updates through Redfish, including support for firmware bundle updates via multipart HTTP push updates.

Prerequisites

To use the Install Module, it must be enabled for your platform in tlbmc_config_bundle.textproto. If it is not enabled, tlBMC will not expose the necessary Redfish routes for firmware updates. See tlbmc_config_bundle.textproto in tlbmc source.

To enable the module, add install_module { enabled: true } to your platform's configuration in platform_to_config map. For example:

platform_to_config {
  key: "your_platform_name"
  value {
    install_module {
      enabled: true
    }
  }
}

Functionality

When the Install Module is enabled, tlBMC takes ownership of Redfish routes related to firmware updates and task monitoring. Specifically, it enables:

  • /redfish/v1/UpdateService: This service provides Redfish endpoints for firmware updates. The module supports firmware bundle updates, typically performed by POSTing to an endpoint under UpdateService with content-type multipart/form-data.
  • /redfish/v1/TaskService: This service allows clients to monitor the progress of long-running operations, such as firmware updates initiated through the UpdateService.

These services work together to provide a standard Redfish interface for initiating and monitoring firmware updates on the BMC.