22.4. bios - BIOS Configuration¶
The following documentation is for BIOS Configuration (bios) content package at version v4.6.12.
The bios plugin allows you to get and set BIOS configuration parameters on server systems from the following manufacturers:
Dell, which requires the
dell-support
content bundle.HPE, which requires the
hpe-support
content bundle.Lenovo, which requires the
lenovo-support
content bundle.
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.
22.4.1. Object Specific Documentation¶
22.4.1.1. params¶
The content package provides the following params.
22.4.1.1.1. bios-last-attempted-configuration¶
This parameter keeps track of the last BIOS settings that the BIOS configuration
tools tried to set. The bios-configure
task uses it to keep from entering
an infinite loop of trying to set the same settings by failing with an informative
error instead.
22.4.1.1.2. bios-skip-config¶
If this parameter is true, then all BIOS config tasks will succeed without doing anything.
22.4.1.1.3. bios-target-configuration¶
The desired target configuration that the bios-configure
task should try to apply
to the system. Valid settings for this field vary depending on system manufacturer,
model, BIOS and firmware revision, and even on the current system settings. You can use
the bios-set-baseline
task to populate this param with the current BIOS settings
from a machine in a form that can be edited for reuse on other compatible machines.
22.4.1.1.4. bios-target-configuration-compose¶
If bios-target-configuration-compose
is set to true
, the system will attempt to build
the bios-target-configuration
from all the layers of profiles and parameters with
the layers closer to the machine object overriding the other layers.
This parameter defaults to false
for backwards compatability.
22.4.1.1.5. bios-current-configuration¶
The current configuration that the various tasks have gathered about the system. Valid settings for this field vary depending on system manufacturer, model, BIOS and firmware revision, and even on the current system settings.
22.4.1.1.6. bios-driver¶
This parameter lets the bioscfg command know what tooling it should use to get and set BIOS configuration values on a machine. The current options are :
dell
which will useracadm
to get and set BIOS settings viaracadm get
.hp
which will useconrep
to get and set BIOS settings.lenovo
which will useonecli
to get and set BIOS viaonecli config
.none
which does nothing.
Support for other BIOS configuration tooling is welcome.
22.4.1.1.7. bios-idrac-configuration¶
This is currently unspecified.
These are run applied after bios-configure.
22.4.1.1.8. bios-idrac-pre-configuration¶
This is currently unspecified.
These are run before bios-configure.
22.4.1.1.9. bios-lenovo-pre-configuration¶
This is a list of strings (to be files) to apply to the system through onecli in batch mode.
If a line contains –file=<file> or –file <file>, the system will attempt to make sure that file is present and, if not present, retrieve it from the bios-file-base-url location. Paths are maintained.
These are applied before bios-configure.
22.4.1.1.10. bios-file-base-url¶
This url defines the path to find files needed by the custom configuration tasks.
This is currently only used by the lenovo tooling.
This is an expanding parameter. Template expansions can be added to the string.
The string should NOT end in a ‘/’.
22.4.1.1.11. bios-ilo-configuration¶
This is a list of xml strings to apply to the system through hponcfg.
These are applied after bios-configure.
22.4.1.1.12. bios-ilo-pre-configuration¶
This is a list of xml strings to apply to the system through hponcfg.
These are applied before bios-configure.
22.4.1.1.13. bios-lenovo-configuration¶
This is a list of strings (to be files) to apply to the system through onecli in batch mode.
If a line contains –file=<file> or –file <file>, the system will attempt to make sure that file is present and, if not present, retrieve it from the bios-file-base-url location. Paths are maintained.
These are applied after bios-configure.
22.4.1.2. stages¶
The content package provides the following stages.
22.4.1.2.1. bios-baseline¶
This stage extracts the current BIOS configuration from a target system and saves
it to the bios-target-configuration
parameter on that system. You can then use
modify and use that configuration on other similar systems.
22.4.1.2.2. bios-configure¶
This stage inventories the current BIOS configuration with the
`` bios-current-config`` task, then attempts to set the BIOS
configuration using the bios-configure
task.
22.4.1.2.3. bios-inventory¶
This stage inventories the current BIOS configuration with the `` bios-current-config`` task.
22.4.1.3. tasks¶
The content package provides the following tasks.
22.4.1.3.1. bios-current-config¶
This task populates the bios-current-configuration
parameter on the machine
it runs on with a dump on the current configuration settings. Depending on
what the underlying bios-driver
supports, this may include various read-only
settings, additional documentation on each setting, and allowable types and ranges
that values can take. As such, the format of the bios-current-configuration
parameter
is deliberatly left undefined.
This task is not required for correct operation of the system – it is present for informational purposes only.
22.4.1.3.2. bios-set-baseline¶
This task gets the current BIOS configuration for the system and places it in the
bios-target-configuration
parameter on the system. It is intended to be used
to gather baseline and golden master BIOS configurations to be applied to other systems.
22.4.1.3.3. bios-tools-install¶
This task is responsible for installing the apprpriate vendor tooling
on a system and setting bios-driver
appropriately. It is a prerequisite
to all the other tasks provided by the bios
plugin, and will be automatically
added to the system task list as needed.
Depending on the systems you anticipate managing, you may also need to install the
dell-support
, hpe-support
, and lenovo-support
content bundles.
22.4.1.3.4. bios-configure¶
This task is responsible for setting BIOS settings on a machine.
The bios-target-configuration
parameter on the machine must be populated
with a sane set of settings for the machine, and the bios-driver
parameter
must be set to one appropriate to the system. This task takes several steps:
If the
bios-skip-config
param is true, the task exits succesfully.The task compares the current settings to the ones from
bios-target-configuration
If the values that need to be changed are the same as the ones listed inbios-last-attempted-configuration
, then the task prints out an error message indicating that the bios configuration process cannot make progress and exits with failure.The
bios-last-attempted-configuration
param is set to the settings frombios-target-configuration
that need to be changed.The settings from
bios-target-configuration
are applied to the machine, and the task indicates success, failure, or a need to reboot depending on what the underlying tooling returns.