1. Introduction

This document defines the functions and the interfaces provided by the BMC software on an IPU-Machine.

To access the BMC, you will need the following information from the system administrator:

  • BMC host name or IP address

  • OpenBMC user ID and password

Initially, there will a single default user account on the BMC. When you log in as that user you can create further accounts, if you wish (see Section 9, User management).

1.1. BMC command line interface

To use the command-line interface, you must be logged in to the BMC via SSH or the serial console.

The command line interface uses either standard Linux commands or the ipum_utils command.

1.2. Graphical user interface

Support for graphical user interface is removed from BMC starting software bundle release 2.4.4.

1.3. REST API

You can send REST API commands using curl or the openbmctool.py command line tool on the host server. You can find openbmctool.py in the IPU-M software, typically at /home/ipuuser/IPU-M_releases/IPU_M_SW-<version>/bmc/bmc_software.

OpenBMC recommends token-based authentication when using the REST interface and provides some command examples, including power related operations. See the OpenBMC REST cheat sheet. A successful REST command results in a “200 OK” message as shown below:

{
  "data": null,
  "message": "200 OK",
  "status": "ok"
}

1.4. IPMI

You can use the the ipmitool to control the BMC over IPMI. You can download this from https://github.com/ipmitool/ipmitool.

1.5. Redfish

The Redfish standard is a suite of specifications that deliver an industry standard protocol providing a RESTful interface for the management of servers, storage and networking.

The IPU-Machine BMC supports a Redfish basic profile. You can perform operations through the Redfish interface by sending curl queries to the URI.

1.6. Abbreviations and acronyms

Common abbreviations used by this document are listed in Table 1.1. See A Dictionary of Graphcore Terminology for definitions of other Graphcore-specific terminology.

Table 1.1 Abbreviations

Abbreviation

Description

BGA

Ball grid array package

BIST

Built-in self-test

BMC

Baseboard management controller

CLI

Command line interface

FRU

Field replaceable unit

GUI

Graphical user interface

IPMI

Intelligent platform management interface

ICU

IPU control unit

IPU

Intelligence Processing Unit

JSON

JavaScript object notation format for representing data

NTP

Network time protocol

PSU

Power supply unit

REST

Representational state transfer web API

RPM

Revolutions per minute

SDR

Sensor data record

SEL

System event log

SNMP

Simple network management protocol

SoL

Serial over LAN