Onboarding NPIs to tlBMC

go/tlbmc-onboarding-npis

This document describes how to onboard an NPI to different modules of tlBMC. Since tlBMC is divided into several modules(go/composable-tlbmc), each module can be enabled and configured independently.

Enable tlBMC with default modules

Developers can see the default config in “general config” section here

For platform specific config, please refer to “platform_to_config” and find the corresponding platform name key.

To build image with tlbmc enabled, add DISTRO_FEATURES:append = " tlbmc" to /path/to/your/machine.conf.

After installing such image, developer can check if tlbmc if enabled by grepping them in journal or by redfish call:

root@bmc:~# journalctl -u bmcweb | grep -i tlbmc
... tlbmc enabled: true

# OR

root@bmc:~# curl localhost/redfish/tlbmc
{
  "@odata.id": "/redfish/tlbmc",
  "AllChassis": {
    "@odata.id": "/redfish/tlbmc/AllChassis"
  },
  "AllSensors": {
    "@odata.id": "/redfish/tlbmc/AllSensors"
  },
  "Debug": {
    "@odata.id": "/redfish/tlbmc/Debug"
  },
  "Metrics": {
    "@odata.id": "/redfish/tlbmc/Metrics"
  },
  "Name": "tlBMC Root Service"
}

Per-Module Onboarding Guides

tlBMC Configuration

The tlBMC modules enabled for each platform are controlled by tlbmc_config_bundle.textproto. Developers can see the default config in “general config” section here

For platform specific config, please refer to “platform_to_config” and find the corresponding platform name key. If a platform is not listed, it will use the “general_config”. Each module must be enabled in this file to function.