:_mod-docs-content-type: ASSEMBLY
[id="ipi-install-installation-workflow"]
= Setting up the environment for an OpenShift installation
include::_attributes/common-attributes.adoc[]
:context: ipi-install-installation-workflow

toc::[]

// Installing {op-system-base} on the provisioner node
include::modules/ipi-install-installing-rhel-on-the-provisioner-node.adoc[leveloffset=+1]

// Preparing the provisioner node for {product-title} installation
include::modules/ipi-install-preparing-the-provisioner-node-for-openshift-install.adoc[leveloffset=+1]

// Checking NTP server synchronization
include::modules/ipi-install-checking-ntp-sync.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../../installing/installing_bare_metal/ipi/ipi-install-installation-workflow.adoc#configuring-ntp-for-disconnected-clusters_ipi-install-installation-workflow[Optional: Configuring NTP for disconnected clusters]

* xref:../../../installing/installing_bare_metal/ipi/ipi-install-prerequisites.adoc#network-requirements-ntp_ipi-install-prerequisites[Network Time Protocol (NTP)]

// Configuring networking
include::modules/ipi-install-configuring-networking.adoc[leveloffset=+1]

include::modules/ipi-install-baremetal-runtimecfg-ip-assignment.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../../support/troubleshooting/troubleshooting-network-issues.adoc#overriding-default-node-ip-selection-logic_troubleshooting-network-issues[Optional: Overriding the default node IP selection logic]

// Creating a manifest object that includes a customized `br-ex` bridge
include::modules/creating-manifest-file-customized-br-ex-bridge.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../../networking/ovn_kubernetes_network_provider/converting-to-dual-stack.adoc#nw-dual-stack-convert_converting-to-dual-stack[Converting to a dual-stack cluster network]

* xref:../../../installing/installing_bare_metal/bare-metal-expanding-the-cluster.adoc#bare-metal-expanding-the-cluster[Expanding the cluster]

// Scale each machine set to compute nodes
include::modules/creating-scaling-machine-sets-compute-nodes-networking.adoc[leveloffset=+2]

// Establishing communication between subnets
include::modules/ipi-install-establishing-communication-between-subnets.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../../installing/installing_bare_metal/ipi/ipi-install-installation-workflow.adoc#modifying-install-config-for-dual-stack-network_ipi-install-installation-workflow[Configuring host network interfaces]

// Retrieving the {product-title} installer
include::modules/ipi-install-retrieving-the-openshift-installer.adoc[leveloffset=+1]

// Extracting the {product-title} installer
include::modules/ipi-install-extracting-the-openshift-installer.adoc[leveloffset=+1]

// Optional: Creating an {op-system} images cache
include::modules/ipi-install-creating-an-rhcos-images-cache.adoc[leveloffset=+1]

// Services for a user-managed load balancer
include::modules/nw-osp-services-external-load-balancer.adoc[leveloffset=+1]

// Configuring a user-managed load balancer
include::modules/nw-osp-configuring-external-load-balancer.adoc[leveloffset=+2]

// Setting the cluster node hostnames through DHCP
include::modules/ipi-install-setting-cluster-node-hostnames-dhcp.adoc[leveloffset=+1]

// Local arbiter node configuration prerequisites
include::modules/local-arbiter-node-config-prerequisites.adoc[leveloffset=+1]

// Configuring a local arbiter node
include::modules/ipi-install-config-local-arbiter-node.adoc[leveloffset=+1]

.Next steps

* xref:../../../installing/installing_bare_metal/ipi/ipi-install-installing-a-cluster.adoc#ipi-install-installing-a-cluster[Installing a cluster]

[role="_additional-resources"]
.Additional resources

* xref:../../../nodes/clusters/nodes-cluster-enabling-features.adoc#nodes-cluster-enabling-features-about_nodes-cluster-enabling-features[Understanding feature gates]

[id="ipi-install-configuration-files"]
[id="additional-resources_config"]
== Configuring the install-config.yaml file

// Configuring the install-config.yaml file
include::modules/ipi-install-configuring-the-install-config-file.adoc[leveloffset=+2]

// Additional `install-config` parameters
include::modules/ipi-install-additional-install-config-parameters.adoc[leveloffset=+2]

// BMC addressing
include::modules/ipi-install-bmc-addressing.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../../vcp/vcp-overview.adoc#vcp-overview[Understanding virtualized control planes]

* xref:../../../installing/installing_bare_metal/bare-metal-postinstallation-configuration.adoc#bmo-editing-a-baremetalhost-resource_bare-metal-postinstallation-configuration[Editing a BareMetalHost resource]

// Verifying support for the Redfish API
include::modules/ipi-install-verifying-support-for-redfish-apis.adoc[leveloffset=+2]

// BMC addressing for Dell iDRAC
include::modules/ipi-install-bmc-addressing-for-dell-idrac.adoc[leveloffset=+2]

// BMC addressing for HPE iLO
include::modules/ipi-install-bmc-addressing-for-hpe-ilo.adoc[leveloffset=+2]

// BMC addressing for Fujitsu iRMC
include::modules/ipi-install-bmc-addressing-for-fujitsu-irmc.adoc[leveloffset=+2]

// BMC addressing for Cisco CIMC
include::modules/ipi-install-bmc-addressing-for-cisco-cimc.adoc[leveloffset=+2]

// Root device hints
include::modules/ipi-install-root-device-hints.adoc[leveloffset=+2]

// Optional: Setting proxy settings
include::modules/ipi-install-setting-proxy-settings-within-install-config.adoc[leveloffset=+2]

// Optional: Deploying with no provisioning network
include::modules/ipi-install-modifying-install-config-for-no-provisioning-network.adoc[leveloffset=+2]

// Optional: Deploying with dual-stack networking
include::modules/ipi-install-modifying-install-config-for-dual-stack-network.adoc[leveloffset=+2]

// Optional: Configuring host network interfaces
include::modules/ipi-install-configuring-host-network-interfaces-in-the-install-config.yaml-file.adoc[leveloffset=+2]

// Configuring host network interfaces for subnets
include::modules/ipi-install-configuring-host-network-interfaces-for-subnets.adoc[leveloffset=+2]

// Optional: Configuring address generation modes for SLAAC in dual-stack networks
include::modules/ipi-install-modifying-install-config-for-slaac-dual-stack-network.adoc[leveloffset=+2]

// Optional: Configuring host network interfaces for dual port NIC
include::modules/ipi-install-configuring-host-dual-network-interfaces-in-the-install-config.yaml-file.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-bonding_configuring-and-managing-networking[Configuring network bonding]

// Configuring multiple cluster nodes
include::modules/ipi-install-configure-multiple-cluster-nodes.adoc[leveloffset=+2]

// Optional: Configuring managed Secure Boot
include::modules/ipi-install-configuring-managed-secure-boot-in-the-install-config-file.adoc[leveloffset=+2]

[id="ipi-install-manifest-configuration-files"]
== Manifest configuration files

// Creating the {product-title} manifests
include::modules/ipi-install-creating-the-openshift-manifests.adoc[leveloffset=+2]

// Optional: Configuring NTP for disconnected clusters
include::modules/ipi-install-configuring-ntp-for-disconnected-clusters.adoc[leveloffset=+2]

// Configuring network components to run on the control plane
include::modules/ipi-install-configure-network-components-to-run-on-the-control-plane.adoc[leveloffset=+2]

// Optional: Deploying routers on worker nodes
include::modules/ipi-install-deploying-routers-on-worker-nodes.adoc[leveloffset=+2]

// Optional: Configuring the BIOS
include::modules/ipi-install-configuring-the-bios.adoc[leveloffset=+2]

[role="_additional-resources"]
[id="additional-resources_bare_metal_config"]
.Additional resources

* xref:../../../installing/installing_bare_metal/bare-metal-postinstallation-configuration.adoc#bmo-config-using-bare-metal-operator_bare-metal-postinstallation-configuration[Configuration using the Bare Metal Operator]

// Optional: Configuring the RAID
include::modules/ipi-install-configuring-the-raid.adoc[leveloffset=+2]

// Optional: Configuring storage on nodes
include::modules/ipi-install-configuring-storage-on-nodes.adoc[leveloffset=+2]

[role="_additional-resources"]
[id="additional-resources_raid_config"]
.Additional resources

* xref:../../../installing/installing_bare_metal/bare-metal-postinstallation-configuration.adoc#bmo-config-using-bare-metal-operator_bare-metal-postinstallation-configuration[Configuration using the Bare Metal Operator]

* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/managing_storage_devices/index#partition-naming-scheme_disk-partitions[Partition naming scheme]

// Creating a disconnected registry
include::modules/ipi-install-creating-a-disconnected-registry.adoc[leveloffset=+1]


[id="prerequisites_ipi-disconnected-registry"]
=== Prerequisites

* If you have already prepared a mirror registry for xref:../../../disconnected/installing-mirroring-installation-images.adoc#prerequisites_installing-mirroring-installation-images[Mirroring images for a disconnected installation], you can skip directly to xref:../../../installing/installing_bare_metal/ipi/ipi-install-installation-workflow.adoc#ipi-modify-install-config-for-a-disconnected-registry_ipi-install-installation-workflow[Modify the install-config.yaml file to use the disconnected registry].

// Preparing the registry node to host the mirrored registry
include::modules/ipi-install-preparing-a-disconnected-registry.adoc[leveloffset=+2]

// Mirroring the {product-title} image repository for a disconnected registry
include::modules/ipi-install-mirroring-for-disconnected-registry.adoc[leveloffset=+2]

// Modify the install-config.yaml file to use the disconnected registry
include::modules/ipi-modify-install-config-for-a-disconnected-registry.adoc[leveloffset=+2]

// Validation checklist for installation
include::modules/ipi-install-validation-checklist-for-installation.adoc[leveloffset=+1]
