Skip to main content

PlatformManager Exploration

Platform exploration is the process of discovering and setting up all devices on the platform based on the configuration file.

Exploration Workflow​

  1. Load Configuration: Read platform-specific JSON config
  2. Package Management: Install BSP RPM and load kernel modules
  3. Discover Root PmUnit: Start from the root PmUnit (typically SCM)
  4. Recursive Exploration:
    • Read IDPROM to identify PmUnit type
    • Create PCI sub-devices (from FPGA)
    • Create I2C devices
    • Create symbolic links in /run/devmap/
    • Explore child slots recursively
  5. Publish Versions: Read and publish firmware/hardware versions
  6. Report Status: Log results and publish ODS counters

Exploration Status and Errors​

Exploration status and errors can be found in platform_manager_service.thrift under ExplorationStatus and ExplorationError.

Querying Exploration Results​

Via Thrift API​

Other FBOSS services can query exploration results programmatically using the Service API:

  • getLastPMStatus() - Returns exploration status and failed devices map
  • getAllPmUnits() - Returns all discovered PmUnits with their status

Via Logs​

Exploration results are logged at INFO level:

Successfully explored <platform_name>...

Errors are logged at WARNING or ERROR level with device paths and error messages.