|
| 1 | +// This is included in the following assemblies: |
| 2 | +// |
| 3 | +// post_installation_configuration/bare-metal-configuration.adoc |
| 4 | +:_content-type: CONCEPT |
| 5 | +[id="bmo-bare-metal-operator-architecture_{context}"] |
| 6 | += Bare Metal Operator architecture |
| 7 | + |
| 8 | +The Bare Metal Operator (BMO) uses three resources to provision, manage, and inspect bare-metal hosts in your cluster. The following diagram illustrates the architecture of these resources: |
| 9 | + |
| 10 | +image::302_OpenShift_Bare_Metal_Operator_0223.png[BMO architecture overview] |
| 11 | + |
| 12 | +.BareMetalHost |
| 13 | + |
| 14 | +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 | + |
| 16 | +The `BareMetalHost` resource features provisioning information such as the following: |
| 17 | + |
| 18 | +* Deployment specifications such as the operating system boot image or the custom RAM disk |
| 19 | +* Provisioning state |
| 20 | +* Baseboard Management Controller (BMC) address |
| 21 | +* Desired power state |
| 22 | +
|
| 23 | +The `BareMetalHost` resource features hardware information such as the following: |
| 24 | + |
| 25 | +* Number of CPUs |
| 26 | +* MAC address of a NIC |
| 27 | +* Size of the host's storage device |
| 28 | +* Current power state |
| 29 | +
|
| 30 | +.HostFirmwareSettings |
| 31 | +You can use the `HostFirmwareSettings` resource to retrieve and manage the firmware settings for a host. When a host moves to the `Available` state, the Ironic service reads the host's firmware settings and creates the `HostFirmwareSettings` resource. There is a one-to-one mapping between the `BareMetalHost` resource and the `HostFirmwareSettings` resource. |
| 32 | + |
| 33 | +You can use the `HostFirmwareSettings` resource to inspect the firmware specifications for a host or to update a host's firmware specifications. |
| 34 | + |
| 35 | +[NOTE] |
| 36 | +==== |
| 37 | +You must adhere to the schema specific to the vendor firmware when you edit the `spec` field of the `HostFirmwareSettings` resource. This schema is defined in the read-only `FirmwareSchema` resource. |
| 38 | +==== |
| 39 | + |
| 40 | +.FirmwareSchema |
| 41 | +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 | + |
| 43 | +A `FirmwareSchema` resource can apply to many `BareMetalHost` resources if the schema is the same. |
| 44 | + |
| 45 | +[role="_additional-resources"] |
| 46 | +.Additional resources |
| 47 | +* link:https://metal3.io/[Metal³ API service for provisioning bare-metal hosts] |
| 48 | +* link:https://ironicbaremetal.org/[Ironic API service for managing bare-metal infrastructure] |
0 commit comments