Skip to content

Commit 5888728

Browse files
authored
Merge pull request #53004 from Amrita42/Agent-29
Agent-29: adds host configurations per node
2 parents 9a89e6b + 7b475c7 commit 5888728

File tree

4 files changed

+64
-8
lines changed

4 files changed

+64
-8
lines changed

installing/installing_with_agent_based_installer/installing-with-agent-based-installer.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ include::modules/installing-ocp-agent.adoc[leveloffset=+1]
1818
.Additional resources
1919

2020
* See xref:../../installing/installing_bare_metal/installing-restricted-networks-bare-metal.adoc#installation-three-node-cluster_installing-restricted-networks-bare-metal[Configuring a three-node cluster] to deploy three-node clusters in bare metal environments.
21+
* See xref:../../installing/installing_with_agent_based_installer/preparing-to-install-with-agent-based-installer.adoc#root-device-hints_preparing-to-install-with-agent-based-installer[About root device hints].
22+
* See link:https://nmstate.io/examples.html[NMState state examples].
2123

2224
include::modules/sample-ztp-custom-resources.adoc[leveloffset=+1]
2325

installing/installing_with_agent_based_installer/preparing-to-install-with-agent-based-installer.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ include::modules/installation-bare-metal-agent-installer-config-yaml.adoc[levelo
3636

3737
include::modules/validations-before-agent-iso-creation.adoc[leveloffset=+1]
3838

39+
include::modules/agent-install-ipi-install-root-device-hints.adoc[leveloffset=+1]
40+
3941
[id="agent-based-installation-next-steps"]
4042
== Next steps
4143

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// This is included in the following assemblies:
2+
//
3+
// ipi-install-configuration-files.adoc
4+
5+
:_content-type: REFERENCE
6+
[id='root-device-hints_{context}']
7+
= About root device hints
8+
9+
The `rootDeviceHints` parameter enables the installer to provision the {op-system-first} image to a particular device. The installer examines the devices in the order it discovers them, and compares the discovered values with the hint values. The installer uses the first discovered device that matches the hint value. The configuration can combine multiple hints, but a device must match all hints for the installer to select it.
10+
11+
.Subfields
12+
13+
|===
14+
| Subfield | Description
15+
16+
| `deviceName` | A string containing a Linux device name like `/dev/vda`. The hint must match the actual value exactly.
17+
18+
| `hctl` | A string containing a SCSI bus address like `0:0:0:0`. The hint must match the actual value exactly.
19+
20+
| `model` | A string containing a vendor-specific device identifier. The hint can be a substring of the actual value.
21+
22+
| `vendor` | A string containing the name of the vendor or manufacturer of the device. The hint can be a sub-string of the actual value.
23+
24+
| `serialNumber` | A string containing the device serial number. The hint must match the actual value exactly.
25+
26+
| `minSizeGigabytes` | An integer representing the minimum size of the device in gigabytes.
27+
28+
| `wwn` | A string containing the unique storage identifier. The hint must match the actual value exactly.
29+
30+
| `rotational` | A boolean indicating whether the device should be a rotating disk (true) or not (false).
31+
32+
|===
33+
34+
.Example usage
35+
36+
[source,yaml]
37+
----
38+
- name: master-0
39+
role: master
40+
bmc:
41+
address: ipmi://10.10.0.3:6203
42+
username: admin
43+
password: redhat
44+
bootMACAddress: de:ad:be:ef:00:40
45+
rootDeviceHints:
46+
deviceName: "/dev/sda"
47+
----

modules/installing-ocp-agent.adoc

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[id="installing-ocp-agent_{context}"]
77
= Installing {product-title} with the Agent-based Installer
88

9-
The following procedure deploys a single-node {product-title}. You can use this procedure as a basis and modify according to your requirements.
9+
The following procedure deploys a single-node {product-title} in a disconnected environment. You can use this procedure as a basis and modify according to your requirements.
1010

1111
.Procedure
1212

@@ -94,11 +94,13 @@ sshKey: |
9494
name: sno-cluster
9595
rendezvousIP: 192.168.111.80 <1>
9696
hosts: <2>
97-
- hostname: master-0
97+
- hostname: master-0 <3>
9898
interfaces:
9999
- name: eno1
100100
macAddress: 00:ef:44:21:e6:a5
101-
networkConfig:
101+
rootDeviceHints: <4>
102+
deviceName: /dev/sdb
103+
networkConfig: <5>
102104
interfaces:
103105
- name: eno1
104106
type: ethernet
@@ -127,6 +129,10 @@ sshKey: |
127129
You must provide the IP address when you do not specify the node's IP addresses in the `networkConfig` parameter. If this address is not provided, one IP address is selected from the provided nodes's `networkConfig`.
128130
<2> The number of hosts defined must match the total number of hosts defined in the `install-config.yaml` file, which is the sum of the values of the `compute.replicas` and `controlPlane.replicas` parameters. When 3 master nodes and 0 worker nodes are defined in the `install-config.yaml` file,
129131
the number of hosts defined is 3. When 3 master nodes and 2 worker nodes are defined in the `install-config.yaml` file, the number of hosts defined is 5.
132+
<3> The optional `hostname` parameter overrides the hostname obtained from either the Dynamic Host Configuration Protocol (DHCP) or a reverse DNS lookup. Each host must have a unique hostname supplied by one of these methods.
133+
<4> The `rootDeviceHints` parameter enables provisioning of the Red Hat Enterprise Linux CoreOS (RHCOS) image to a particular device. It examines the devices in the order it discovers them, and compares the discovered values with the hint values. It uses the first discovered device that matches the hint value.
134+
<5> Set this optional parameter to configure the network interface of a host in NMState format.
135+
130136
131137
+
132138
. Create the Agent image by running the following command:
@@ -146,8 +152,10 @@ agent.iso auth
146152
----
147153
$ openshift-install agent create image
148154
----
155+
+
156+
NOTE: Red Hat Enterprise Linux CoreOS (RHCOS) supports multipathing on the primary disk, allowing stronger resilience to hardware failure to achieve higher host availability. Multipathing is enabled by default in the `agent.iso` image, with a default `/etc/multipath.conf` configuration.
149157
150-
. Optional: To know when the bootstrap node (** Node 0 **) reboots, run the following command:
158+
. Optional: To know when the bootstrap node (** node 0 **) reboots, run the following command:
151159
152160
+
153161
[source,terminal]
@@ -168,8 +176,7 @@ INFO Waiting up to 30m0s for bootstrapping to complete...
168176
INFO It is now safe to remove the bootstrap resources
169177
----
170178
+
171-
The command succeeds when the Kubernetes API server signals that it has been
172-
bootstrapped on the control plane machines.
179+
The command succeeds when the Kubernetes API server signals that it has been bootstrapped on the control plane machines.
173180
174181
. Boot the `agent.iso` image on the bare metal machines. You can run the image on any Linux distribution.
175182
@@ -191,5 +198,3 @@ INFO To access the cluster as the system:admin user when using 'oc', run
191198
INFO export KUBECONFIG=/home/core/installer/auth/kubeconfig
192199
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.sno-cluster.test.example.com
193200
----
194-
195-

0 commit comments

Comments
 (0)