BIOS Configuration¶
The bios plugin allows you to get and set BIOS configuration parameters on server systems from the following manufacturers:
- Dell, which requires the
dell-supportcontent bundle. - HPE, which requires the
hpe-supportcontent bundle. - Lenovo, which requires the
lenovo-supportcontent bundle. - Supermicro, which requires the
supermicro-supportcontent bundle. - Any system with a Redfish BMC, through the
redfishdriver, which requires theipmiplugin.
In all cases, bios configuration management is implemented as a set of tasks designed to be run in the Sledgehammer boot environment.
In addition to this documentation, please see the [Using The BIOS Plugin] documentation.
Also see: Using The BIOS Plugin
Drivers¶
The bios-driver param selects the tooling used to get and set BIOS values:
dellusesracadm.hpusesconrep.lenovousesonecli.supermicrousessum.ciscouses the CIMC XML API out-of-band.redfishuses theipmiplugin'sgetBiosandsetBiosactions to get and set Redfish BIOS attributes through the BMC. It needs theipmi/address,ipmi/usernameandipmi/passwordparams, andipmi/modeset toredfish. Changes are staged in the BMC and applied on the next reboot, or as set byipmi/bios-apply-time.noneis the default and does nothing.
bios-tools-install picks the driver from the manufacturer. A manufacturer without a vendor driver uses redfish
when ipmi/mode is redfish.
Stages¶
| Stage | What it does |
|---|---|
bios-inventory |
Discovers the BIOS configuration of a system. |
bios-baseline |
Extracts the current BIOS configuration and saves it to bios-target-configuration. |
bios-configure |
Discovers and updates the BIOS configuration of a system. |
bios-configure-example |
An example that reads the current configuration, configures the BIOS, then applies an iLO configuration. |
bios-reset |
Resets BIOS params so an application can be applied to the system. |
bios-reset-to-factory |
Resets the BIOS to factory settings. With the redfish driver it queues bios-redfish-reset, which calls the ipmi plugin's resetBios action. |
bios-complete |
Clears the params used within a BIOS run. |
Setting the desired configuration¶
bios-target-configuration holds the desired BIOS settings as key and value pairs, which bios-configure tries to
apply. Valid settings depend on the manufacturer, model, BIOS and firmware revision, and the current settings. Run
bios-baseline on a machine to fill bios-target-configuration with its current settings, then edit them for reuse.
bios-target-configurations takes a list of those sets. When bios-target-configuration-compose is true, the
target is built from every layer of profiles and params, and layers closer to the machine override the others. It
defaults to false.
The difference between the desired and current configuration is stored in bios-configuration-difference.
Vendor configuration files¶
Each vendor has a pair of params that list files to apply to the system. The pre param is applied before
bios-configure and the other after it.
| Vendor | Applied before | Applied after |
|---|---|---|
| Dell iDRAC | bios-idrac-pre-configuration |
bios-idrac-configuration |
| HPE iLO | bios-ilo-pre-configuration |
bios-ilo-configuration |
| Lenovo | bios-lenovo-pre-configuration |
bios-lenovo-configuration |
| Supermicro | bios-supermicro-pre-configuration |
bios-supermicro-configuration |
Out-of-band¶
Set bios-out-of-band to true to perform all BIOS configuration tasks through the out-of-band controller.
When bios-configure runs in a context, the context runner cannot reboot the machine. If it applied any settings,
it sets bios-oob-reboot-required instead. Add the bios-oob-reboot task after switching back from the context,
for example in bios-configure-tasks, and it reboots the machine when that param is true.