|
| 1 | +// This is included in the following assemblies: |
| 2 | +// |
| 3 | +// ipi-install-post-installation-configuration.adoc |
| 4 | + |
| 5 | +[id="enabling-a-provisioning-network-after-installation_{context}"] |
| 6 | + |
| 7 | += Enabling a provisioning network after installation |
| 8 | + |
| 9 | +The assisted installer and installer-provisioned installation for bare metal clusters provide the ability to deploy a cluster without a `provisioning` network. This capability is for scenarios such as proof-of-concept clusters or deploying exclusively with Redfish virtual media when each node's baseboard management controller is routable via the `baremetal` network. |
| 10 | + |
| 11 | +In {product-title} 4.8 and later, you can enable a `provisioning` network after installation using the Cluster Baremetal Operator (CBO). |
| 12 | + |
| 13 | +.Prerequisites |
| 14 | + |
| 15 | +. The `provisioning` network must exist. |
| 16 | +. The `provisioning` network must be enabled. |
| 17 | +. The cluster nodes must be connected to the `provisioning` network using the same network interface on both worker nodes and control plane nodes. |
| 18 | +. The cluster nodes must be homogeneous. If the cluster nodes use different network interface names for the same network interface order, such as `eth0` and `eno1` for the first network interface, the procedure fails. |
| 19 | + |
| 20 | +.Procedure |
| 21 | + |
| 22 | +. Identify the provisioning interface name for the cluster nodes. For example, `eth0` or `eno1`. |
| 23 | + |
| 24 | +. Enable the preboot execution environment (PXE) on the `provisioning` network interface of the cluster nodes. |
| 25 | + |
| 26 | +. Retrieve the current state of the `provisioning` network and save it to a provisioning configuration resource file: |
| 27 | ++ |
| 28 | +[source,terminal] |
| 29 | +---- |
| 30 | +$ oc get provisioning -o yaml > enable-provisioning-nw.yaml |
| 31 | +---- |
| 32 | + |
| 33 | +. Modify the provisioning configuration resource file: |
| 34 | ++ |
| 35 | +[source,terminal] |
| 36 | +---- |
| 37 | +$ vim ~/enable-provisioning-nw.yaml |
| 38 | +---- |
| 39 | ++ |
| 40 | +Scroll down to the `provisioningNetwork` configuration setting and change it from `Disabled` to `Managed`. Then, add the `provisioningOSDownloadURL`, `provisioningIP`, `provisioningNetworkCIDR`, `provisioningDHCPRange`, `provisioningInterface`, and `watchAllNameSpaces` configuration settings after the `provisioningNetwork` setting. Provide appropriate values for each setting. |
| 41 | ++ |
| 42 | +[source,yaml] |
| 43 | +---- |
| 44 | +apiVersion: v1 |
| 45 | +items: |
| 46 | +- apiVersion: metal3.io/v1alpha1 |
| 47 | + kind: Provisioning |
| 48 | + metadata: |
| 49 | + name: provisioning-configuration |
| 50 | + spec: |
| 51 | + provisioningNetwork: <1> |
| 52 | + provisioningOSDownloadURL: <2> |
| 53 | + provisioningIP: <3> |
| 54 | + provisioningNetworkCIDR: <4> |
| 55 | + provisioningDHCPRange: <5> |
| 56 | + provisioningInterface: <6> |
| 57 | + watchAllNameSpaces: <7> |
| 58 | +---- |
| 59 | ++ |
| 60 | +where: |
| 61 | ++ |
| 62 | +<1> The `provisioningNetwork` is one of `Managed`, `Unmanaged`, or `Disabled`. When set to `Managed`, Metal3 manages the provisioning network and the CBO deploys the Metal3 pod with a configured DHCP server. When set to `Unmanaged`, the system administrator configures DHCP server manually. |
| 63 | ++ |
| 64 | +<2> The `provisioningOSDownloadURL` is a valid HTTPS URL with a valid sha256 checksum that enables the Metal3 pod to download a qcow2 operating system image ending in `.qcow2.gz` or `.qcow2.xz`. This field is required whether the provisioning network is `Managed`, `Unmanaged`, or `Disabled`. For example: `\http://192.168.0.1/images/rhcos-_<version>_.x86_64.qcow2.gz?sha256=_<sha>_`. |
| 65 | ++ |
| 66 | +<3> The `provisioningIP` is the static IP address that the DHCP server and ironic use to provision the network. This static IP address must be within the `provisioning` subnet, and outside of the DHCP range. If you configure this setting, it must have a valid IP address even if the `provisioning` network is `Disabled`. The static IP address is bound to the metal3 pod. If the metal3 pod fails and moves to another server, the static IP address also moves to the new server. |
| 67 | ++ |
| 68 | +<4> The Classless Inter-Domain Routing (CIDR) address. If you configure this setting, it must have a valid CIDR address even if the `provisioning` network is `Disabled`. For example: `192.168.0.1/24`. |
| 69 | ++ |
| 70 | +<5> The DHCP range. This setting is only applicable to a `Managed` provisioning network. Omit this configuration setting if the `provisioning` network is `Disabled`. For example: `192.168.0.64, 192.168.0.253`. |
| 71 | ++ |
| 72 | +<6> The NIC name for the `provisioning` interface on cluster nodes. This setting is only applicable to `Managed` and `Unamanged` provisioning networks. Omit this configuration setting if the `provisioning` network is `Disabled`. |
| 73 | ++ |
| 74 | +<7> Set this setting to `true` if you want metal3 to watch namespaces other than the default `openshift-machine-api` namespace. The default value is `false`. |
| 75 | + |
| 76 | +. Save the changes to the provisioning configuration resource file. |
| 77 | + |
| 78 | +. Apply the provisioning configuration resource file to the cluster: |
| 79 | ++ |
| 80 | +[source,terminal] |
| 81 | +---- |
| 82 | +$ oc apply -f enable-provisioning-nw.yaml |
| 83 | +---- |
0 commit comments