|
| 1 | +// Module included in the following assemblies: |
| 2 | +// |
| 3 | +// * installing/installing_bare_metal/ipi/ipi-install-prerequisites.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: CONCEPT |
| 6 | + |
| 7 | +[id="installation-workflow_{context}"] |
| 8 | += Installation workflow |
| 9 | + |
| 10 | +The installation program supports interactive mode, but it is recommended to prepare an `install-config.yaml` file in advance, containing the provisioning details for all of the bare-metal hosts. |
| 11 | + |
| 12 | +The administrator adds the relevant cluster details to the `install-config.yaml` file. The `install-config.yaml` file is shipped to the provisioning host. The administrator generates the manifests and verifies all prerequisites. |
| 13 | + |
| 14 | +The installation program enrolls all nodes in the cluster and starts the bootstrap VM. Metal platform components are started as `systemd` services, which have the following containers: |
| 15 | + |
| 16 | +* Ironic-dnsmasq: DHCP server responsible for handing over the IP addresses to the provisioning interface of various nodes on the provisioning network. Ironic-dnsmasq is only enabled when the `provisioningNetwork` is enabled. |
| 17 | +* Ironic-httpd: http server used to ship the images to the nodes. |
| 18 | +* Image-customization |
| 19 | +* Ironic |
| 20 | +* Ironic-inspector (available in {openshift} 4.16 and earlier) |
| 21 | +* Ironic-ramdisk-logs |
| 22 | +* Extract-machine-os |
| 23 | +* Provisioning-interface: Service that configures networking when the provisioning interface is enabled. |
| 24 | +* Metal3-baremetal-operator: Operator that provides a higher-level API for Ironic and replaces `terraform-provider-ironic` (available in {openshift} 4.16 and later) |
| 25 | + |
| 26 | +The nodes enter the validation phase. The nodes move to a “manageable” state after Ironic validates the credentials to access the Baseboard Management Controller (BMC) for each node. |
| 27 | + |
| 28 | +Once in the “manageable” state, the “inspection” phase starts. The "inspection" phase ensures that the hardware meets the minimum requirements needed for a successful deployment of {ocp}. |
| 29 | + |
| 30 | +The `install-config.yaml` file details the provisioning network. The installation program on the bootstrap VM will try to push a live image to every node with the Ironic Python Agent (IPA) loaded in the RAM. When using virtual media, the live image connects directly to the BMC. |
| 31 | + |
| 32 | +When using PXE boot, all nodes reboot to start the process: |
| 33 | + |
| 34 | +* The `ironic-dnsmasq` service running on the bootstrap VM provides the IP address of the node and the TFTP boot server. |
| 35 | +* The first boot software loads the root file system over HTTP. |
| 36 | +* The `ironic` service on the bootstrap VM receives the hardware information from each node. |
| 37 | + |
| 38 | +The nodes then enter the “cleaning” state, where each node must clean all the disks before continuing with the configuration. |
| 39 | + |
| 40 | +Once the “cleaning” state finishes, the nodes enter the “available” state and the installation program moves the nodes to the “deploying” state. |
| 41 | + |
| 42 | +IPA runs the coreos-installer to install the RHCOS image on the disk defined by `rootDeviceHints` in the `install-config.yaml` file. The node boots into the new RHCOS. |
| 43 | + |
| 44 | +Once the control plane nodes are configured, control moves to the control plane nodes and the bootstrap is removed. |
| 45 | + |
| 46 | +The baremetal-operator continues the deployment of the workers, storage and infra nodes. Once the installation completes, the nodes move to the "active" state. |
| 47 | + |
| 48 | +The administrator performs the postinstallation checks and proceeds with Day 2 tasks. |
0 commit comments