|
| 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. The bootstrap VM will start the ironic pod, which has the following containers: |
| 15 | + |
| 16 | +* dnsmasq: DHCP server responsible for handing over the IP addresses to the provisioning interface of various nodes on the provisioning network. |
| 17 | +* httpd: http server used to ship the images to the nodes. |
| 18 | +* Cluster-bootstrap |
| 19 | +* Image-customization |
| 20 | +* Ironic |
| 21 | +* Ironic-inspector |
| 22 | +* Ironic-ramdisk-logs |
| 23 | +* Coreos-downloader |
| 24 | + |
| 25 | +The nodes enter the validation phase. The nodes move to a “manageable” state once all of the following validations succeed: |
| 26 | + |
| 27 | +* Ironic validates that the nodes are accessible. |
| 28 | +* The machine network validates the credentials to access iLO for each node. |
| 29 | +* The machine network validates access to the iLO from the primary nodes. Primary nodes need to be able to access the iLO interface of every node in the cluster (worker nodes, storage nodes and infra nodes). |
| 30 | + |
| 31 | +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}. |
| 32 | + |
| 33 | +If the `install-config.yaml` file has details for the provisioning network and PXE boot is enabled, the installation program on the bootstrap VM will try to push a live image to every node with the Ironic Python Agent (IPA) that will be loaded in the RAM. |
| 34 | + |
| 35 | +All nodes reboot to start the PXE process: |
| 36 | + |
| 37 | +* DHCP provides the node's IP address and the IP address of the TFTP boot server. These will be provided by the `dnsmasq` container running on the bootstrap VM. |
| 38 | +* Http loads the `rootfs` into the host. |
| 39 | +* The ironic-inspector container on the bootstrap VM receives the hardware information from each node. |
| 40 | + |
| 41 | +The nodes then enter the “cleaning” state, where each node must clean all the disks before further configurations can be made. |
| 42 | + |
| 43 | +Once the “cleaning” state finishes, the nodes enter the “available” state and the installation program moves the nodes to the “deploying” state. |
| 44 | + |
| 45 | +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. |
| 46 | + |
| 47 | +Once the primary nodes are configured, control moves to the primary nodes and the bootstrap is removed. |
| 48 | + |
| 49 | +The baremetal-operator continues the deployment of the workers, storage and infra nodes. Once the installation completes, the nodes move to the "active" state. |
| 50 | + |
| 51 | +The administrator performs the postinstallation checks and proceeds with Day 2 tasks. |
0 commit comments