a reference bmc

20
A reference BMC Chris Austen Power Systems Enablement [email protected]

Upload: others

Post on 16-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A reference BMC

A reference BMC

Chris AustenPower Systems [email protected]

Page 2: A reference BMC

DevilsintheDetails

• Wespendalotof

2

Page 3: A reference BMC

3

Page 4: A reference BMC

4

Page 5: A reference BMC

WhatisaBMC?

• BMC– BaseboardManagementController• SystemOnaChip• ManagesProcs,DIMMs,Fans,PowerSupplies,etc• Reportsexternallytomanagement software• DataandManagementseparateoperators

11/16/16 5

Page 6: A reference BMC

WhatisOpenBMC

• Providessimplifiedmanagementof:• Environment• Inventory• Sensorsandeventlogs

• BasedonOpenEmbedded technologiesbuiltviaYocto• EmbeddedLinuxstack• LinuxKernel4.6,Yocto 2.1,python, SSH

• ApplicationscommunicateviaD-Bus• UserscommunicateviaREST

11/16/16 6

Page 7: A reference BMC

WhatisOpenBMC

• 100%compatiblewithOpenPOWER Hostboot/Opal• AkaBIOS• https://github.com/open-power/op-build

• Cansimplybeareference implementation

• Currentlyrunson…• AST2400andAST2500BMChardware

11/16/16 7

Page 8: A reference BMC

WhattheheckisD-Bus

WithoutD-Bus

11/16/16 8

WithD-Bus

inter-processcommunication(IPC)andremoteprocedurecall(RPC)mechanism thatallowscommunicationbetweenmultiplecomputerprograms(that is,processes)concurrentlyrunningonthesamemachine

Page 9: A reference BMC

FeaturesofOpenBMC

• Dbus istheheart• SwapouthardwareandUserInterfaces• Bindings forC/C++,pythonandmore

11/16/16 9

ManagementController

X

ManagementController

Y

Kernel

Apps

DBusSensors REST

Page 10: A reference BMC

OpenBMC Dbus InterfaceExamples

• Attachaninterface,getthebenefits

• Org.openbmc.Service• Obtaininformationabouttheservice• “status”,“information”

• Org.openbmc.delete• TheParentinterface isdelete’able

• Org.openbmc.InventoryItem• Properties forall inventory• “Fault”,“Present”

11/16/16 10

Page 11: A reference BMC

Applications

11/16/16 11

Chassis_control

Powercontrol

Hardware

ChassisIdentify OCC

gpio LED

Sensormgmt andcache

AmbienttempFan(n) IPMI

HoststatusBoot

Progress

Inventory

FRU(n)

OCCI2C

I2C host

EventLogDB

FanControl

REST

C/C++ Python

ParameterDB

BMC Flash

BIOS Flash

NVRAM

PowerButton

Flashcontrol

SystemPolicyAgent

RTC

BMCEEPROMFRUformat

I2C

Page 12: A reference BMC

ConnectviaREST

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

• <uri>Showpropertiesofthisuri

• <uri>/Showchildren

• <uri>/listRecursivelyshowchildren

• <uri>/enumerateRecursivelyshowchildrenuri’swithallproperties

• <uri>/attr/<property>Set/Getsingleproperty

• <uri>/action/<method>Callamethod(POST/PUT)

• <uri>/schemaShowthemethodsandproperties

11/16/16 12

Page 13: A reference BMC

Letsseesomeexamples!!!

• Login• curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST https://<ip>/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"

• Temperaturesok?• curl -c cjar -b cjar -k https://<ip>/org/openbmc/sensors/temperature/ambient

• PowerOntheServer• curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST https://<ip>/org/openbmc/control/chassis0/action/powerOn -d "{\"data\": [] }"

11/16/16 13

Page 14: A reference BMC

Whereisthiscode?

• Github repository:• https://github.com/openbmc

• GetStarted- Readme• https://github.com/openbmc/openbmc

• Schema• https://github.com/openbmc/docs/blob/master/dbus-interfaces.md

11/16/16 14

Page 15: A reference BMC

NoHardwareRequired

• OpenBMC simulationdoesnotrequirehardware• Usefulfornonhardwarespecificapplications.• EventLogs,userid creation/policies• RESTinteractions• EarlyPOCdev

11/16/16 15

Page 16: A reference BMC

AutomatedBuildVerification

11/16/16 16

§ https://github.com/openbmc/openbmc• Codeisavailabletoeveryone

§ https://openpower.xyz• AutomatedJenkinsserver• Everycommit…tested

Page 17: A reference BMC

Interfaceprogression

OPAL

HB

OCC

IPMI

IPMI

IICVGA SSHConsole

KVMOS

OSBMCREST

OpenBMC

OPAL KVMOS

OS

HB

OCC

IPMI

IPMI

IICVGA

BMCSPNEXT

SSHConsole

REST

OpenBMC v2

IPMIHTTP

Page 18: A reference BMC

Featureswearedeveloping

• ErrorandTraceLogs• CodeUpdate• SLPSupport• OpenFSI debugsupport• Virtualizedinterfacetohost• “outofband”IPMI• UserInterfaceß lookingforSponsorUsers

Page 19: A reference BMC

JoinUs

• Possibleareasfeatureenhancements…• OpenStackIronic• Redfish• WebUserInterface• RemoteIPMI• EnergyScaleutilities• Designsbeyond thedatacenter• QEMUenhancementsforboard• Documentation

• SponsorUsersneeded

11/16/16 19

Page 20: A reference BMC

ThankYou

• ChrisAusten• [email protected]

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

• IRC• IRCFreenode.net#openbmc

11/16/16 20