bmclib - board management controller library
A library to interact with BMCs of different vendors
Data collection support
Hardware | Supported | Partially Supported |
---|
Dell M1000e | :heavy_check_mark: | |
Dell iDRAC8 | :heavy_check_mark: | |
Dell iDRAC9 | :heavy_check_mark: | |
HP c7000 | :heavy_check_mark: | |
HP iLO3 | | :heavy_check_mark: |
HP iLO4 | :heavy_check_mark: | |
HP iLO5 | :heavy_check_mark: | |
Supermicro X10 | :heavy_check_mark: | |
Supermicro X11 | :heavy_check_mark: | |
Firmware update support
Hardware | Supported |
---|
Dell M1000e | :heavy_check_mark: |
Dell iDRAC8 | :heavy_check_mark: |
Dell iDRAC9 | :heavy_check_mark: |
HP c7000 | :heavy_check_mark: |
HP iLO2 | :heavy_check_mark: |
HP iLO3 | :heavy_check_mark: |
HP iLO4 | :heavy_check_mark: |
HP iLO5 | :heavy_check_mark: |
Supermicro X9 | |
Supermicro X10 | |
Supermicro X11 | |
Configuration support
Hardware | User accounts | Syslog | NTP | SNMP | Ldap | Ldap groups | BIOS | HTTPS Cert |
---|
Dell M1000e | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: | :heavy_check_mark: | - | |
Dell iDRAC8 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: |
Dell iDRAC9 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
HP c7000 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: | :heavy_check_mark: | - | |
HP iLO4 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: |
HP iLO5 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: |
Supermicro X10 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: |
Supermicro X11 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: |
Debugging
export BMCLIB_LOG_LEVEL=debug for bmclib to debug log
export BMCLIB_LOG_LEVEL=trace for bmclib to trace log
export BMCLIB_TEST=1 to run on a dummy bmc (dry run).
bmc-toolbox
All of the tooling that uses bmclib is part of the bmc-toolbox
Inventory collection
dora uses bmclib to identify and inventorize assets.
Configuration
bmcbutler uses bmclib to manage configuration on BMCs.
Web API
actor uses bmclib to abstract away various BMCs and expose a consistent web API to interact with them.
Acknowledgment
bmclib was originally developed for Booking.com.
With approval from Booking.com, the code and
specification were generalized and published as Open Source on github, for
which the authors would like to express their gratitude.
bmclib interfaces with Redfish with https://github.com/stmcginnis/gofish
Authors
- Juliano Martinez
- Joel Rebello
- Guilherme M. Schroeder
- Mariano Guezuraga