Brussels / 2 & 3 February 2019

schedule

bmclib: A Baseboard Management Controller library

One library to rule them all?


https://github.com/bmc-toolbox/bmclib bmclib is a Baseboard management controller library that we have been working on to,

  • Inventorize bare metal hardware through BMCs
  • Manage BMC configuration.
  • Reliably Power cycle/PXE boot bare metal.

While all of these seem like obvious functions of bare metal server hardware that should just work, in reality it does not - when dealing with ~45k units of bare metal hardware from various vendors, this is a lesson we learned and hence we wrote 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 bmclib methods to retrieve thumbnails from the BMC, of whats currently on 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, https://github.com/bmc-toolbox/bmclib/blob/master/devices/interfaces.go#L31

Note: the bmc-toolbox is built and managed currently within Booking.com

Speakers

Photo of Joel Rebello Joel Rebello
Photo of Juliano Martinez Juliano Martinez

Links