bmclib: A Baseboard Management Controller library One library to rule them all?
Channel: FOSDEM
Date: 2019-02-09

by Joel Rebello and Juliano Martinez

At: FOSDEM 2019
https://video.fosdem.org/2019/H.2215/baseboard_management.webm


This talk is about a library written to help manage a fleet of bare metal servers,
it leverages existing (mostly undocumented) APIs on Baseboard Management Controllers,
and exposes a consistent API interface to, 


Inventorize bare metal hardware
Manage BMC/BIOS configuration
Reliably Power cycle/PXE boot bare metal.
Update firmware on BMCs



https://github.com/bmc-toolbox/bmclib This talk is about bmclib, a library written to perform asset lifecycle management,
across a fleet of bare metal servers, it leverages existing (mostly undocumented) APIs on Baseboard Management Controllers,
and exposes a consistent API interface to, 


Inventorize bare metal hardware
Manage BMC/BIOS configuration
Reliably Power cycle/PXE boot bare metal.
Update firmware on BMCs



https://github.com/bmc-toolbox/bmclib 

While all of the above seems obvious functions of bare metal server hardware that should just work,
in reality they do not - when dealing with ~45k units of bare metal server hardware from various vendors,
this is a lesson we learned and hence we developed bmclib and all of the various tools that is part of the bmc-toolbox. 

https://github.com/bmc-toolbox 

We intend to talk about the current state of BMCs, the current vendor solutions to have a single API (Redfish)
and the various tools that are part of the bmc-toolbox which were possible thanks to bmclib. 

Another interesting project (which we intend to talk about) was to implement a service on top of bmclib to retrieve thumbnails from the BMC,
of the screen of the server and run image classification on it to infer what state a bare metal is currently in,
thanks to bmclib this was easy since we implemented a common method to grab "Screen previews" through the BMC. 

The bmc-toolbox is built and maintained in Booking.com. 

Room: H.2215 (Ferrer)
Scheduled start: 2019-02-02 17:00:00+01