Brussels / 2 & 3 February 2019


bmclib: A Baseboard Management Controller library

One library to rule them all? 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.

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,

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


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