1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/bmo-about-the-hostfirmwaresettings-resource.adoc

89 lines
3.3 KiB
Plaintext

// This is included in the following assemblies:
//
// * installing/installing_bare_metal/bare-metal-postinstallation-configuration.adoc
:_mod-docs-content-type: REFERENCE
[id="bmo-about-the-hostfirmwaresettings-resource_{context}"]
= About the HostFirmwareSettings resource
You can use the `HostFirmwareSettings` resource to retrieve and manage the BIOS settings for a host. When a host moves to the `Available` state, Ironic reads the host's BIOS settings and creates the `HostFirmwareSettings` resource. The resource contains the complete BIOS configuration returned from the baseboard management controller (BMC). Whereas, the `firmware` field in the `BareMetalHost` resource returns three vendor-independent fields, the `HostFirmwareSettings` resource typically comprises many BIOS settings of vendor-specific fields per host.
The `HostFirmwareSettings` resource contains two sections:
. The `HostFirmwareSettings` spec.
. The `HostFirmwareSettings` status.
[NOTE]
====
Reading and modifying firmware settings is only supported for drivers based on the vendor-independent Redfish protocol, Fujitsu iRMC or HP iLO.
====
== The `HostFirmwareSettings` spec
The `spec` section of the `HostFirmwareSettings` resource defines the desired state of the host's BIOS, and it is empty by default. Ironic uses the settings in the `spec.settings` section to update the baseboard management controller (BMC) when the host is in the `Preparing` state. Use the `FirmwareSchema` resource to ensure that you do not send invalid name/value pairs to hosts. See "About the FirmwareSchema resource" for additional details.
.Example
[source,terminal]
----
spec:
settings:
ProcTurboMode: Disabled<1>
----
<1> In the foregoing example, the `spec.settings` section contains a name/value pair that will set the `ProcTurboMode` BIOS setting to `Disabled`.
[NOTE]
====
Integer parameters listed in the `status` section appear as strings. For example, `"1"`. When setting integers in the `spec.settings` section, the values should be set as integers without quotes. For example, `1`.
====
== The `HostFirmwareSettings` status
The `status` represents the current state of the host's BIOS.
.HostFirmwareSettings
[options="header"]
|====
|Parameters|Description
a|
----
status:
conditions:
- lastTransitionTime:
message:
observedGeneration:
reason:
status:
type:
----
a| The `conditions` field contains a list of state changes. The sub-fields include:
* `lastTransitionTime`: The last time the state changed.
* `message`: A description of the state change.
* `observedGeneration`: The current generation of the `status`. If `metadata.generation` and this field are not the same, the `status.conditions` might be out of date.
* `reason`: The reason for the state change.
* `status`: The status of the state change. The status can be `True`, `False` or `Unknown`.
* `type`: The type of state change. The types are `Valid` and `ChangeDetected`.
a|
----
status:
schema:
name:
namespace:
lastUpdated:
----
a| The `FirmwareSchema` for the firmware settings. The fields include:
* `name`: The name or unique identifier referencing the schema.
* `namespace`: The namespace where the schema is stored.
* `lastUpdated`: The last time the resource was updated.
a|
----
status:
settings:
----
| The `settings` field contains a list of name/value pairs of a host's current BIOS settings.
|====