A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris...

18
© 2016 OpenPOWER Foundation A reference BMC for Power and Beyond Chris Austen Power Systems Enablement [email protected]

Transcript of A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris...

Page 1: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

© 2016 OpenPOWER Foundation

A reference BMC for Power and Beyond Chris Austen Power Systems Enablement [email protected]

Page 2: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

OpenPOWER is Open

Almost all open

2

Aspeed BMC

BMC SW

OPAL

P8 HW

Host Boot

OCC

KVM/Linux

Lin

ux

Lin

ux

Lin

ux

Page 3: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

What is a BMC?

• BMC – Baseboard Management Controller • System On a Chip

• Manages Procs, DIMMs, Fans, Power Supplies, etc

• Reports externally to management software

• Data and Management separate operators

11/3/2016 3

Page 4: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

What is OpenBMC

• Provides simplified management of: • Environment

• Inventory

• Sensors and event logs

• Based on OpenEmbedded technologies built via Yocto

• Embedded Linux stack • Linux Kernel 4.6, Yocto 2.1, python, SSH

• Applications communicate via D-Bus

• Users communicate via REST

11/3/2016 4

Page 5: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

What is OpenBMC

• 100% compatible with OpenPOWER Hostboot/Opal

• Aka BIOS

• https://github.com/open-power/op-build

• Can simply be a reference implementation

• Currently runs on…

• Barreleye, S822LC, S822LC For HPC, P8 Reference

• Some P9 boards

• AST2400 and AST2500 BMC hardware

11/3/2016 5

Page 6: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Features of OpenBMC

• Dbus is the heart • Swap out hardware and User Interfaces

• Bindings for C/C++, python and more

11/3/2016 6

Management Controller

X

Management Controller

Y

Kernel

Apps

DBus Sensors REST

Page 7: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

OpenBMC Dbus Interface Examples

• Attach an interface, get the benefits

• Org.openbmc.Service

• Obtain information about the service

• “status”, “information”

• Org.openbmc.delete • The Parent interface is delete’able

• Org.openbmc.InventoryItem • Properties for all inventory

• “Fault”, “Present”

11/3/2016 7

Page 8: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Applications

11/3/2016 8

Chassis_control

Power control

Hardware

Chassis Identify

OCC

gpio LED

Sensor mgmt and cache

Ambient temp

Fan(n) IPMI

Host status Boot

Progress

Inventory

FRU(n)

OCC I2C

I2C host

Event Log DB

Fan Control

REST

C/C++ Python

Parameter DB

BMC Flash

BIOS Flash

NVRAM

Power Button

Flash control

System Policy Agent

RTC

BMC EEPROM

FRU format

I2C

Page 9: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Connect via REST

• https://github.com/openbmc/docs/blob/master/rest-api.md

• <uri>

Show properties of this uri

• <uri>/

Show children

• <uri>/list

Recursively show children

• <uri>/enumerate

Recursively show children uri’s with all properties

• <uri>/attr/<property>

Set/Get single property

• <uri>/action/<method>

Call a method (POST/PUT)

• <uri>/schema

Show the methods and properties

11/3/2016 9

Page 10: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Lets see some examples!!!

• Login • curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST

https://<ip>/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"

• Temperatures ok? • curl -c cjar -b cjar -k

https://<ip>/org/openbmc/sensors/temperature/ambient

• Power On the Server • curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST

https://<ip>/org/openbmc/control/chassis0/action/powerOn -d

"{\"data\": [] }"

11/3/2016 10

Page 12: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

No Hardware Required

• OpenBMC simulation does not require hardware

• Useful for non hardware specific applications. • Event Logs, userid creation/policies

• REST interactions

• Early POC dev

11/3/2016 12

Page 13: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Automated Build Verification

11/3/2016 13

https://github.com/openbmc/openbmc • Code is available to everyone

https://openpower.xyz • Automated Jenkins server

• Every commit… tested

Page 14: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Interfaces to Cover for P9

OPAL

HB

OCC

IPMI

IPMI

IIC VGA SSH

Console

KVM OS

OS BMC REST

OpenBMC

OPAL KVM OS

OS

HB

OCC

IPMI

IPMI

IIC VGA

BMC SP NEXT

SSH Console

REST

OpenBMC v2

IPMI HTTP

Page 15: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Features we are developing

• Error and Trace Logs

• Code Update

• SLP Support

• OpenFSI debug support

• Virtualized interface to host

• “out of band” IPMI

• User Interface looking for Sponsor Users

Page 16: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Where to next?

• POWER9 HPC IBM server

• POWER9 Ziaus

• POWER9 Reference Server for OpenPOWER

• Your server?

11/3/2016 16

Page 17: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Join Us

• Possible areas feature enhancements… • OpenStack Ironic

• Redfish

• Web User Interface

• Remote IPMI

• Energy Scale utilities

• Designs beyond the data center

• QEMU enhancements for board

• Documentation

• Sponsor Users needed

11/3/2016 17

Page 18: A reference BMC for Power and Beyond - OpenPOWER · A reference BMC for Power and Beyond Chris Austen Power Systems Enablement austenc@us.ibm.com. OpenPOWER is Open Almost all open

Thank You

• Chris Austen • [email protected]

• Code: • https://github.com/openbmc

• IRC • IRC Freenode.net #openbmc

11/3/2016 18