You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/bmo-about-the-hostfirmwaresettings-resource.adoc
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,11 @@ The `HostFirmwareSettings` resource contains two sections:
13
13
. The `HostFirmwareSettings` spec.
14
14
. The `HostFirmwareSettings` status.
15
15
16
+
[NOTE]
17
+
====
18
+
Reading and modifying firmware settings is only supported for drivers based on the vendor-independent Redfish protocol, Fujitsu iRMC or HP iLO.
19
+
====
20
+
16
21
== The `HostFirmwareSettings` spec
17
22
18
23
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.
You can use the `HostUpdatePolicy` resource to enable or disable applying live updates to the firmware settings, BMC settings, or firmware settings of each bare-metal host. By default, the Operator disables live updates to already provisioned bare-metal hosts by default.
10
+
11
+
.The `HostUpdatePolicy` spec
12
+
13
+
The `spec` section of the `HostUpdatePolicy` resource provides two settings:
14
+
15
+
`firmwareSettings`:: This setting corresponds to the `HostFirmwareSettings` resource.
16
+
17
+
`firmwareUpdates`:: This setting corresponds to the `HostFirmwareComponents` resource.
18
+
19
+
When you set the value to `onPreparing`, you can only update the host during provisioning, which is the default setting. When you set the value to `onReboot`, you can update a provisioned host by applying the resource and rebooting the bare-metal host. Then, follow the procedure for editing the `HostFirmwareSettings` or `HostFirmwareComponents` resource.
20
+
21
+
.Example `HostUpdatePolicy` resource
22
+
[source,yaml]
23
+
----
24
+
apiVersion: metal3.io/v1alpha1
25
+
kind: HostUpdatePolicy
26
+
metadata:
27
+
name: <hostname> <1>
28
+
namespace: openshift-machine-api
29
+
spec:
30
+
firmwareSettings: <setting> <2>
31
+
firmwareUpdates: <setting>
32
+
----
33
+
<1> The name of the bare-metal host.
34
+
<2> The update policy setting. Specify `onPreparing` to disable live updates. Specify `onReboot` to enable live updates.
The `BareMetalHost` resource defines a physical host and its properties. When you provision a bare-metal host to the cluster, you must define a `BareMetalHost` resource for that host. For ongoing management of the host, you can inspect the information in the `BareMetalHost` or update this information.
15
+
The `BareMetalHost` resource defines a physical host and its properties. When you provision a bare-metal host to the cluster, you must define a `BareMetalHost` resource for that host. For ongoing management of the host, you can inspect the information in the `BareMetalHost`resource or update this information.
16
16
17
17
The `BareMetalHost` resource features provisioning information such as the following:
18
18
@@ -39,7 +39,7 @@ You must adhere to the schema specific to the vendor firmware when you edit the
39
39
====
40
40
41
41
.FirmwareSchema
42
-
Firmware settings vary among hardware vendors and host models. A `FirmwareSchema` resource is a read-only resource that contains the types and limits for each firmware setting on each host model. The data comes directly from the BMC by using the Ironic service. The `FirmwareSchema` resource enables you to identify valid values you can specify in the `spec` field of the `HostFirmwareSettings` resource.
42
+
Firmware settings vary among hardware vendors and host models. A `FirmwareSchema` resource is a read-only resource that contains the types and limits for each firmware setting on each host model. The data comes directly from the BMC by using the Ironic service. You can use the `FirmwareSchema` resource to identify valid values that you can specify in the `spec` field of the `HostFirmwareSettings` resource.
43
43
44
44
A `FirmwareSchema` resource can apply to many `BareMetalHost` resources if the schema is the same.
45
45
@@ -51,3 +51,7 @@ Metal^3^ provides the `HostFirmwareComponents` resource, which describes BIOS an
51
51
.Additional resources
52
52
* link:https://metal3.io/[Metal^3^ API service for provisioning bare-metal hosts]
53
53
* link:https://ironicbaremetal.org/[Ironic API service for managing bare-metal infrastructure]
54
+
55
+
.HostUpdatePolicy
56
+
57
+
The `HostUpdatePolicy` resource can enable or disable live updates to the firmware settings, BMC settings, or BIOS settings of bare-metal hosts. By default, the `HostUpdatePolicy` resource for each bare-metal host restricts updates to hosts during provisioning. You must modify the `HostUpdatePolicy` resource for a host when you want to update the firmware settings, BMC settings, or BIOS settings after provisioning the host.
Copy file name to clipboardExpand all lines: modules/bmo-config-using-bare-metal-operator.adoc
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ When deploying {product-title} on bare-metal hosts, there are times when you nee
11
11
You can use the Bare Metal Operator (BMO) to provision, manage, and inspect bare-metal hosts in your cluster. The BMO can complete the following operations:
12
12
13
13
* Provision bare-metal hosts to the cluster with a specific image.
14
-
* Turn on or off a host.
14
+
* Turn a host on or off.
15
15
* Inspect hardware details of the host and report them to the bare-metal host.
16
16
* Upgrade or downgrade a host's firmware to a specific version.
17
17
* Inspect firmware and configure BIOS settings.
@@ -23,9 +23,12 @@ The BMO uses the following resources to complete these tasks:
23
23
* `HostFirmwareSettings`
24
24
* `FirmwareSchema`
25
25
* `HostFirmwareComponents`
26
+
* `HostUpdatePolicy`
26
27
27
28
The BMO maintains an inventory of the physical hosts in the cluster by mapping each bare-metal host to an instance of the `BareMetalHost` custom resource definition. Each `BareMetalHost` resource features hardware, software, and firmware details. The BMO continually inspects the bare-metal hosts in the cluster to ensure each `BareMetalHost` resource accurately details the components of the corresponding host.
28
29
29
30
The BMO also uses the `HostFirmwareSettings` resource, the `FirmwareSchema` resource, and the `HostFirmwareComponents` resource to detail firmware specifications and upgrade or downgrade firmware for the bare-metal host.
30
31
31
32
The BMO interfaces with bare-metal hosts in the cluster by using the Ironic API service. The Ironic service uses the Baseboard Management Controller (BMC) on the host to interface with the machine.
33
+
34
+
The BMO `HostUpdatePolicy` can enable or disable live updates to the firmware settings, BMC settings, or BIOS settings of a bare-metal host after provisioning the host. By default, the BMO disables live updates.
<1> Where `<machineset_name>` is the name of the machine set and `<n-1>` is the decremented number of worker nodes.
120
122
121
-
. When the host enters the `Available` state, scale up the machine set to make the `HostFirmwareComponents` resource changes take effect:
123
+
. When the host enters the `Available` state, scale up the machine set to make the `HostFirmwareComponents` resource changes take effect by running the following command:
= Editing the HostFirmwareSettings resource of a provisioned host
8
8
9
-
You can edit the `HostFirmwareSettings` of provisioned hosts.
9
+
To make changes to the `HostFirmwareSettings` spec for a provisioned host, perform the following actions:
10
+
11
+
* Delete the host from the machine set.
12
+
* Scale down the machine set.
13
+
* Scale up the machine set to make the changes take effect.
10
14
11
15
[IMPORTANT]
12
16
====
13
17
You can only edit hosts when they are in the `provisioned` state, excluding read-only values. You cannot edit hosts in the `externally provisioned` state.
14
-
15
18
====
16
19
17
20
.Procedure
18
21
19
-
. Get the list of `HostFirmwareSettings` resources:
22
+
. Get the list of `HostFirmwareSettings` resources by running the following command:
20
23
+
21
24
[source,terminal]
22
25
----
23
26
$ oc get hfs -n openshift-machine-api
24
27
----
25
28
26
-
. Edit a host's`HostFirmwareSettings` resource:
29
+
. Edit the host `HostFirmwareSettings` resource by running the following command:
Where `<machineset_name>` is the name of the machineset and `<n-1>` is the decremented number of worker nodes.
90
+
Where `<machineset_name>` is the name of the machine set and `<n-1>` is the decremented number of worker nodes.
88
91
89
-
. When the host enters the `Available` state, scale up the machineset to make the `HostFirmwareSettings` resource changes take effect:
92
+
. When the host enters the `Available` state, scale up the machine set to make the `HostFirmwareSettings` resource changes take effect by running the following command:
The `HostFirmwareComponents` resource contains the specific firmware version of the BIOS and baseboard management controller (BMC) of a physical host. You must get the `HostFirmwareComponents` resource for a physical host to review the firmware version and status.
9
9
10
10
.Procedure
11
11
12
-
. Get the detailed list of `HostFirmwareComponents` resources:
12
+
. Get the detailed list of `HostFirmwareComponents` resources by running the following command:
13
13
+
14
14
[source,terminal]
15
15
----
16
16
$ oc get hostfirmwarecomponents -n openshift-machine-api -o yaml
17
17
----
18
18
19
-
. Get the list of `HostFirmwareComponents` resources:
19
+
. Get the list of `HostFirmwareComponents` resources by running the following command:
20
20
+
21
21
[source,terminal]
22
22
----
23
23
$ oc get hostfirmwarecomponents -n openshift-machine-api
24
24
----
25
25
26
-
. Get the `HostFirmwareComponents` resource for a particular host:
26
+
. Get the `HostFirmwareComponents` resource for a particular host by running the following command:
0 commit comments