22.4. bios - BIOS Configuration¶
The following documentation is for BIOS Configuration (bios) content package at version .
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.
[Using The BIOS Plugin]: ../../../operators/operations/bios/
22.4.1. Object Specific Documentation¶
22.4.1.1. params¶
The content package provides the following params.
22.4.1.1.1. bios-baseline-tasks¶
This is a list of tasks that should be used to baseline a system.
The tasks should ensure that the required tools are installed.
The result of running these tasks would be a recording of the current configuration in a form that could be applied to the system with the bios-configure tasks.
22.4.1.1.2. bios-configuration-difference¶
The output from the bios-difference task is stored here.
22.4.1.1.3. bios-configure-tasks¶
This is a list of tasks that should be used to configure a system.
The tasks should ensure that the required tools are installed.
The result of running this task should include setting the parameter, bios-current-configuration. Using the bios-target-configuration parameter is suggested but not required.
22.4.1.1.4. 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.5. 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 use racadm to get and set BIOS settings via racadm get.
hp which will use conrep to get and set BIOS settings.
lenovo which will use onecli to get and set BIOS via onecli config.
supermicro whicl will use sum to get and set BIOS settings.
none which does nothing.
Support for other BIOS configuration tooling is welcome.
22.4.1.1.6. 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.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-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.10. 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.11. bios-inventory-tasks¶
This is a list of tasks that should be used to inventory a system.
The tasks should ensure that the required tools are installed. The result of running this task should include setting the parameter, bios-current-configuration.
22.4.1.1.12. 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.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.1.14. 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.15. bios-reset-tasks¶
This is a list of tasks that should be used to reset a system’s parameters to enable application.
22.4.1.1.16. bios-skip-config¶
If this parameter is true, then all BIOS config tasks will succeed without doing anything.
22.4.1.1.17. 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.18. 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.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.
If bios-baseline-tasks is used to change the tasks, the results will be based upon those tasks.
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.
If bios-configure-tasks is used to change the tasks, the results will be based upon those tasks.
22.4.1.2.3. bios-inventory¶
This stage inventories the current BIOS configuration with the `` bios-current-config`` task.
If the bios-inventory-tasks is used, then the tasks should setup the bios-current-config if possible.
22.4.1.2.4. bios-reset¶
Reset BIOS parameters to enable application on a system.
If the tasks set one-time state parameters, this set of tasks will reset that state.
22.4.1.3. tasks¶
The content package provides the following tasks.
22.4.1.3.1. 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:
1. If the bios-skip-config param is true, the task exits succesfully. 1. 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 in bios-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 from bios-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.
22.4.1.3.2. 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.3. bios-difference¶
This task determines the difference between the current bios settings and the bios-target-configuration parameter on the machine. The bios-driver parameter must be set to one appropriate to the system.
The results are stored in tthe bios-configuration-difference parameter.
This task respects the bios-skip-config flag. If true, nothing is done.
22.4.1.3.4. bios-reset¶
The bios-reset tasks clears the skip configuration parameters from the machine object. There are not currently modified now.
22.4.1.3.5. 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.6. 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.