conference logo

Playlist "All Systems Go! 2019"

BMC management with bmc-toolbox

Joel Rebello and Juliano Martinez

This talk is about the bmc-toolbox, an open-source project that leverages the _Baseboard Management Controller_ (iLOs iDracs and similar) to help manage a large fleet (>50K) of bare metal servers at Booking.com

[bmc-toolbox.github.io](https://bmc-toolbox.github.io/)

Its goal is to provide vendor agnostic tooling to manage the lifecycle of bare metal servers,
this talk describes the tools part of bmc-toolbox and various aspects of managing a large fleet of bare metal servers.

The bmc-toolbox leverages the _Baseboard Management Controller_ to help manage the lifecycle of datacenter bare metal. It provides vendor agnostic tools and a library in Go lang to *inventorize*, *configure*, *manage**, **update* a large fleet of bare metal assets with the help of the BMC.

- *bmclib* - A Go lang library that provides a consistent set of methods to interface with BMCs.
- *dora* - tool to **inventorize** a fleet of bare metal servers and chassis assets.
- *bmcbutler* - tool to handle **configuration management** for a fleet of bare metal server and chassis BMCs.
- *actor* - A single **API webservice** endpoint to interact with a fleet of bare metal BMCs.
- *bmcldap* - LDAP based **authentication/authorization** service/proxy for BMCs.
- *bmcfwupd* - tool to **update** the BMC firmware.

This talk covers,
- The challenges managing the provisioning and lifecycle of a *not yet hyperscale* size set of bare metal servers.
- The purpose of the tools included of bmc-toolbox, how they help make our lives easier
- How the tooling interacts with the BMCs (vendor specific APIs, Redfish)
- The current state of Redfish in the wild