Download - A reference BMC
![Page 2: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/2.jpg)
DevilsintheDetails
• Wespendalotof
2
![Page 3: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/3.jpg)
3
![Page 4: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/4.jpg)
4
![Page 5: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/5.jpg)
WhatisaBMC?
• BMC– BaseboardManagementController• SystemOnaChip• ManagesProcs,DIMMs,Fans,PowerSupplies,etc• Reportsexternallytomanagement software• DataandManagementseparateoperators
11/16/16 5
![Page 6: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/15.jpg)
NoHardwareRequired
• OpenBMC simulationdoesnotrequirehardware• Usefulfornonhardwarespecificapplications.• EventLogs,userid creation/policies• RESTinteractions• EarlyPOCdev
11/16/16 15
![Page 16: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/16.jpg)
AutomatedBuildVerification
11/16/16 16
§ https://github.com/openbmc/openbmc• Codeisavailabletoeveryone
§ https://openpower.xyz• AutomatedJenkinsserver• Everycommit…tested
![Page 17: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/18.jpg)
Featureswearedeveloping
• ErrorandTraceLogs• CodeUpdate• SLPSupport• OpenFSI debugsupport• Virtualizedinterfacetohost• “outofband”IPMI• UserInterfaceß lookingforSponsorUsers
![Page 19: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/19.jpg)
JoinUs
• Possibleareasfeatureenhancements…• OpenStackIronic• Redfish• WebUserInterface• RemoteIPMI• EnergyScaleutilities• Designsbeyond thedatacenter• QEMUenhancementsforboard• Documentation
• SponsorUsersneeded
11/16/16 19
![Page 20: A reference BMC](https://reader031.vdocuments.us/reader031/viewer/2022012022/6169c33911a7b741a34b15f7/html5/thumbnails/20.jpg)
ThankYou
• ChrisAusten• [email protected]
• Code:• https://github.com/openbmc
• IRC• IRCFreenode.net#openbmc
11/16/16 20