Skip to content

Commit 25ea997

Browse files
authored
Merge pull request #113477 from lahinson/osdocs-19811-cqa-hcp-deploy-ibmz
[OSDOCS-19811]: CQA: Deploying HCP on IBM Z
2 parents 707e9f3 + 3dd20ed commit 25ea997

9 files changed

Lines changed: 82 additions & 67 deletions

hosted_control_planes/hcp-deploy/hcp-deploy-ibmz.adoc

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
:_mod-docs-content-type: ASSEMBLY
2-
[id="hcp-deploy-ibmz"]
32
include::_attributes/common-attributes.adoc[]
3+
[id="hcp-deploy-ibmz"]
44
= Deploying {hcp} on {ibm-z-title}
55
:context: hcp-deploy-ibmz
66

77
toc::[]
88

9-
You can deploy {hcp} by configuring a cluster to function as a management cluster. The management cluster is the {product-title} cluster where the control planes are hosted. The management cluster is also known as the _hosting_ cluster.
9+
[role="_abstract"]
10+
You can deploy {hcp} on {ibm-z-title} by configuring a cluster to function as a management cluster. The management cluster is the {product-title} cluster where the control planes are hosted. The management cluster is also known as the _hosting_ cluster.
1011

1112
[NOTE]
1213
====
@@ -37,12 +38,7 @@ include::modules/hcp-ibm-z-dns.adoc[leveloffset=+1]
3738

3839
include::modules/hcp-custom-dns.adoc[leveloffset=+2]
3940

40-
[id="hcp-bm-create-hc-ibm-z"]
41-
== Creating a hosted cluster on bare metal for {ibm-z-title}
42-
43-
You can create a hosted cluster or import one. When the Assisted Installer is enabled as an add-on to {mce-short} and you create a hosted cluster with the Agent platform, the HyperShift Operator installs the Agent Cluster API provider in the hosted control plane namespace.
44-
45-
include::modules/hcp-ibmz-create-hc.adoc[leveloffset=+2]
41+
include::modules/hcp-ibmz-create-hc.adoc[leveloffset=+1]
4642

4743
[role="_additional-resources"]
4844
.Additional resources
@@ -52,16 +48,9 @@ include::modules/hcp-ibmz-create-hc.adoc[leveloffset=+2]
5248
5349
include::modules/hcp-ibm-z-infraenv.adoc[leveloffset=+1]
5450

55-
[id="hcp-ibm-z-add-agents"]
56-
== Adding {ibm-z-title} agents to the InfraEnv resource
57-
58-
To attach compute nodes to a hosted control plane, create agents that help you to scale the node pool. Adding agents in an {ibm-z-title} environment requires additional steps, which are described in detail in this section.
59-
60-
Unless stated otherwise, these procedures apply to both z/VM and RHEL KVM installations on {ibm-z-title} and {ibm-linuxone-title}.
61-
62-
include::modules/hcp-ibm-z-kvm-agents.adoc[leveloffset=+2]
51+
include::modules/hcp-ibm-z-kvm-agents.adoc[leveloffset=+1]
6352

64-
include::modules/hcp-ibm-z-lpar-agents.adoc[leveloffset=+2]
53+
include::modules/hcp-ibm-z-lpar-agents.adoc[leveloffset=+1]
6554

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

modules/hcp-ibm-z-dns.adoc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
//
33
// * hosted_control_planes/hcp-deploy/hcp-deploy-ibmz.adoc
44

5-
:_mod-docs-content-type: CONCEPT
5+
:_mod-docs-content-type: REFERENCE
66
[id="hcp-ibm-z-dns_{context}"]
77
= DNS configuration for {hcp} on {ibm-z-title}
88

9+
[role="_abstract"]
910
The API server for the hosted cluster is exposed as a `NodePort` service. A DNS entry must exist for the `api.<hosted_cluster_name>.<base_domain>` that points to the destination where the API server is reachable.
1011

1112
The DNS entry can be as simple as a record that points to one of the nodes in the managed cluster that is running the hosted control plane.
@@ -29,15 +30,15 @@ $ TTL 900
2930
IN NS bastion.example.krnl.es.com.
3031
;
3132
;
32-
api IN A 1xx.2x.2xx.1xx <1>
33+
api IN A 1xx.2x.2xx.1xx
3334
api-int IN A 1xx.2x.2xx.1xx
3435
;
3536
;
3637
*.apps IN A 1xx.2x.2xx.1xx
3738
;
3839
;EOF
3940
----
40-
<1> The record refers to the IP address of the API load balancer that handles ingress and egress traffic for {hcp}.
41+
The `api` record refers to the IP address of the API load balancer that handles ingress and egress traffic for {hcp}.
4142

4243
For {ibm-title} z/VM, add IP addresses that correspond to the IP address of the agent.
4344

modules/hcp-ibm-z-infra-reqs.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
[id="hcp-ibm-z-infra-reqs_{context}"]
77
= {ibm-z-title} infrastructure requirements
88

9-
The Agent platform does not create any infrastructure, but requires the following resources for infrastructure:
9+
[role="_abstract"]
10+
The Agent platform does not create any infrastructure, but requires several resources for infrastructure.
1011

1112
* Agents: An _Agent_ represents a host that is booted with a discovery image, or PXE image and is ready to be provisioned as an {product-title} node.
1213
1314
* DNS: The API and Ingress endpoints must be routable.
1415
15-
The {hcp} feature is enabled by default. If you disabled the feature and want to manually enable it, or if you need to disable the feature, see _Enabling or disabling the {hcp} feature_.
16+
The {hcp} feature is enabled by default. If you disabled the feature and want to manually enable it, or if you need to disable the feature, see "Enabling or disabling the {hcp} feature".

modules/hcp-ibm-z-infraenv.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
[id="hcp-ibm-z-infraenv_{context}"]
77
= Creating an InfraEnv resource for {hcp} on {ibm-z-title}
88

9-
An `InfraEnv` is an environment where hosts that are booted with PXE images can join as agents. In this case, the agents are created in the same namespace as your hosted control plane.
9+
[role="_abstract"]
10+
Before you can create a hosted cluster, you need an `InfraEnv` resource, which is the environment where hosts that are booted with PXE images can join as agents. In this case, the agents are created in the same namespace as your hosted control plane.
1011

1112
.Procedure
1213

modules/hcp-ibm-z-kvm-agents.adoc

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
[id="hcp-ibm-z-kvm-agents_{context}"]
77
= Adding {ibm-z-title} KVM as agents
88

9+
[role="_abstract"]
10+
To attach compute nodes to a hosted control plane, create agents that help you to scale the node pool.
11+
12+
Adding agents in an {ibm-z-title} environment requires additional steps, which are described in detail in this section.
13+
14+
Unless stated otherwise, this procedure applies to both z/VM and RHEL KVM installations on {ibm-z-title} and {ibm-linuxone-title}.
15+
916
For {ibm-z-title} with KVM, run the following command to start your {ibm-z-title} environment with the downloaded PXE images from the `InfraEnv` resource. After the Agents are created, the host communicates with the Assisted Service and registers in the same namespace as the `InfraEnv` resource on the management cluster.
1017

1118
.Procedure
@@ -15,46 +22,46 @@ For {ibm-z-title} with KVM, run the following command to start your {ibm-z-title
1522
[source,terminal]
1623
----
1724
virt-install \
18-
--name "<vm_name>" \ <1>
25+
--name "<vm_name>" \
1926
--autostart \
2027
--ram=16384 \
2128
--cpu host \
2229
--vcpus=4 \
23-
--location "<path_to_kernel_initrd_image>,kernel=kernel.img,initrd=initrd.img" \ <2>
24-
--disk <qcow_image_path> \ <3>
25-
--network network:macvtap-net,mac=<mac_address> \ <4>
30+
--location "<path_to_kernel_initrd_image>,kernel=kernel.img,initrd=initrd.img" \
31+
--disk <qcow_image_path> \
32+
--network network:macvtap-net,mac=<mac_address> \
2633
--graphics none \
2734
--noautoconsole \
2835
--wait=-1
29-
--extra-args "rd.neednet=1 nameserver=<nameserver> coreos.live.rootfs_url=http://<http_server>/rootfs.img random.trust_cpu=on rd.luks.options=discard ignition.firstboot ignition.platform.id=metal console=tty1 console=ttyS1,115200n8 coreos.inst.persistent-kargs=console=tty1 console=ttyS1,115200n8" <5>
36+
--extra-args "rd.neednet=1 nameserver=<nameserver> coreos.live.rootfs_url=http://<http_server>/rootfs.img random.trust_cpu=on rd.luks.options=discard ignition.firstboot ignition.platform.id=metal console=tty1 console=ttyS1,115200n8 coreos.inst.persistent-kargs=console=tty1 console=ttyS1,115200n8"
3037
----
3138
+
32-
<1> Specify the name of the virtual machine.
33-
<2> Specify the location of the `kernel_initrd_image` file.
34-
<3> Specify the disk image path.
35-
<4> Specify the Mac address.
36-
<5> Specify the server name of the agents.
39+
* `--name` specifies the name of the virtual machine.
40+
* `--location` specifies the location of the `kernel_initrd_image` file.
41+
* `--disk` specifies the disk image path.
42+
* `--network` specifies the Mac address.
43+
* `--extra-args` specifies the server name of the agents.
3744
3845
. For ISO boot, download ISO from the `InfraEnv` resource and boot the nodes by running the following command:
3946
+
4047
[source,terminal]
4148
----
4249
virt-install \
43-
--name "<vm_name>" \ <1>
50+
--name "<vm_name>" \
4451
--autostart \
4552
--memory=16384 \
4653
--cpu host \
4754
--vcpus=4 \
48-
--network network:macvtap-net,mac=<mac_address> \ <2>
49-
--cdrom "<path_to_image.iso>" \ <3>
55+
--network network:macvtap-net,mac=<mac_address> \
56+
--cdrom "<path_to_image.iso>" \
5057
--disk <qcow_image_path> \
5158
--graphics none \
5259
--noautoconsole \
53-
--os-variant <os_version> \ <4>
60+
--os-variant <os_version> \
5461
--wait=-1
5562
----
5663
+
57-
<1> Specify the name of the virtual machine.
58-
<2> Specify the Mac address.
59-
<3> Specify the location of the `image.iso` file.
60-
<4> Specify the operating system version that you are using.
64+
* `--name` specifies the name of the virtual machine.
65+
* `--network` specifies the Mac address.
66+
* `--cdrom` specifies the location of the `image.iso` file.
67+
* `--os-variant` specifies the operating system version that you are using.

modules/hcp-ibm-z-lpar-agents.adoc

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
[id="hcp-ibm-z-lpar-agents_{context}"]
77
= Adding {ibm-z-title} LPAR as agents
88

9+
[role="_abstract"]
10+
To attach compute nodes to a hosted control plane, create agents that help you to scale the node pool.
11+
12+
Adding agents in an {ibm-z-title} environment requires additional steps, which are described in detail in this section.
13+
14+
Unless stated otherwise, this procedure applies to both z/VM and RHEL KVM installations on {ibm-z-title} and {ibm-linuxone-title}.
15+
916
You can add the Logical Partition (LPAR) on {ibm-z-title} or {ibm-linuxone-title} as a compute node to a hosted control plane.
1017

1118
.Procedure
@@ -18,20 +25,22 @@ You can add the Logical Partition (LPAR) on {ibm-z-title} or {ibm-linuxone-title
1825
rd.neednet=1 cio_ignore=all,!condev \
1926
console=ttysclp0 \
2027
ignition.firstboot ignition.platform.id=metal
21-
coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \// <1>
28+
coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \
2229
coreos.inst.persistent-kargs=console=ttysclp0
23-
ip=<ip>::<gateway>:<netmask>::<interface>:none nameserver=<dns> \// <2>
30+
ip=<ip>::<gateway>:<netmask>::<interface>:none nameserver=<dns> \
2431
rd.znet=qeth,<network_adaptor_range>,layer2=1
25-
rd.<disk_type>=<adapter> \// <3>
32+
rd.<disk_type>=<adapter> \
2633
zfcp.allow_lun_scan=0
27-
ai.ip_cfg_override=1 \// <4>
34+
ai.ip_cfg_override=1 \
2835
random.trust_cpu=on rd.luks.options=discard
2936
----
3037
+
31-
<1> For the `coreos.live.rootfs_url` artifact, specify the matching `rootfs` artifact for the `kernel` and `initramfs` that you are starting. Only HTTP and HTTPS protocols are supported.
32-
<2> For the `ip` parameter, manually assign the IP address, as described in _Installing a cluster with z/VM on {ibm-z-title} and {ibm-linuxone-title}_.
33-
<3> For installations on DASD-type disks, use `rd.dasd` to specify the DASD where {op-system-first} is to be installed. For installations on FCP-type disks, use `rd.zfcp=<adapter>,<wwpn>,<lun>` to specify the FCP disk where {op-system} is to be installed.
34-
<4> Specify this parameter when you use an Open Systems Adapter (OSA) or HiperSockets.
38+
where:
39+
+
40+
`coreos.live.rootfs_url`:: For the `coreos.live.rootfs_url` artifact, specify the matching `rootfs` artifact for the `kernel` and `initramfs` that you are starting. Only HTTP and HTTPS protocols are supported.
41+
`ip`:: For the `ip` parameter, manually assign the IP address, as described in "Installing a cluster with z/VM on {ibm-z-title} and {ibm-linuxone-title}".
42+
`rd`:: For installations on DASD-type disks, use `rd.dasd` to specify the DASD where {op-system-first} is to be installed. For installations on FCP-type disks, use `rd.zfcp=<adapter>,<wwpn>,<lun>` to specify the FCP disk where {op-system} is to be installed.
43+
`ai.ip_cfg_override`:: Specify this parameter when you use an Open Systems Adapter (OSA) or HiperSockets.
3544

3645
. Download the `.ins` and `initrd.img.addrsize` files from the `InfraEnv` resource.
3746
+

modules/hcp-ibm-z-prereqs.adoc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
[id="hcp-ibm-z-prereqs_{context}"]
77
= Prerequisites to configure {hcp} on {ibm-z-title}
88

9+
[role="_abstract"]
10+
Ensure you meet the prerequisites to configure {hcp} on {ibm-z-title}.
11+
912
* The {mce} version 2.7 or later must be installed on an {product-title} cluster. You can install {mce-short} as an Operator from the {product-title} OperatorHub.
1013
1114
* The {mce-short} must have at least one managed {product-title} cluster. The `local-cluster` is automatically imported in {mce-short} 2.7 and later. For more information about the `local-cluster`, see _Advanced configuration_ in the Red{nbsp}Hat Advanced Cluster Management documentation. You can check the status of your hub cluster by running the following command:
@@ -17,9 +20,9 @@ $ oc get managedclusters local-cluster
1720
1821
* You need a hosting cluster with at least three worker nodes to run the HyperShift Operator.
1922
20-
* You need to enable the central infrastructure management service. For more information, see _Enabling the central infrastructure management service_.
23+
* You need to enable the central infrastructure management service. For more information, see "Enabling the central infrastructure management service".
2124
22-
* You need to install the hosted control plane command-line interface. For more information, see _Installing the hosted control plane command-line interface_.
25+
* You need to install the hosted control plane command-line interface. For more information, see "Installing the hosted control plane command-line interface".
2326
2427
[NOTE]
2528
====

modules/hcp-ibm-z-scale-np.adoc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="hcp-ibm-z-scale-np_{context}"]
77
= Scaling the NodePool object for a hosted cluster on {ibm-z-title}
88

9+
[role="_abstract"]
910
The `NodePool` object is created when you create a hosted cluster. By scaling the `NodePool` object, you can add more compute nodes to the hosted control plane.
1011

1112
When you scale up a node pool, a machine is created. The Cluster API provider finds an Agent that is approved, is passing validations, is not currently in use, and meets the requirements that are specified in the node pool specification. You can monitor the installation of an Agent by checking its status and conditions.
@@ -121,7 +122,7 @@ clusterversion.config.openshift.io/version 4.15.0-ec.2 True False
121122
----
122123
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusteroperators
123124
----
124-
125+
+
125126
For each component of your cluster, the output shows the following cluster operator statuses: `NAME`, `VERSION`, `AVAILABLE`, `PROGRESSING`, `DEGRADED`, `SINCE`, and `MESSAGE`.
126-
127-
For an output example, see _Initial Operator configuration_.
127+
+
128+
For an output example, see "Initial Operator configuration".

modules/hcp-ibm-z-zvm-agents.adoc

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="hcp-ibm-z-zvm-agents_{context}"]
77
= Adding {ibm-title} z/VM as agents
88

9+
[role="_abstract"]
910
If you want to use a static IP for z/VM guest, you must configure the `NMStateConfig` attribute for the z/VM agent so that the IP parameter persists in the second start.
1011

1112
Complete the following steps to start your {ibm-z-title} environment with the downloaded PXE images from the `InfraEnv` resource. After the Agents are created, the host communicates with the Assisted Service and registers in the same namespace as the `InfraEnv` resource on the management cluster.
@@ -14,24 +15,26 @@ Complete the following steps to start your {ibm-z-title} environment with the do
1415

1516
. Update the parameter file to add the `rootfs_url`, `network_adaptor` and `disk_type` values.
1617
+
17-
--
1818
.Example parameter file
1919
[source,yaml]
2020
----
2121
rd.neednet=1 cio_ignore=all,!condev \
2222
console=ttysclp0 \
2323
ignition.firstboot ignition.platform.id=metal \
24-
coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \// <1>
24+
coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \
2525
coreos.inst.persistent-kargs=console=ttysclp0
26-
ip=<ip>::<gateway>:<netmask>::<interface>:none nameserver=<dns> \// <2>
26+
ip=<ip>::<gateway>:<netmask>::<interface>:none nameserver=<dns> \
2727
rd.znet=qeth,<network_adaptor_range>,layer2=1
28-
rd.<disk_type>=<adapter> \// <3>
28+
rd.<disk_type>=<adapter> \
2929
zfcp.allow_lun_scan=0
30-
ai.ip_cfg_override=1 \// <4>
30+
ai.ip_cfg_override=1 \
3131
----
32-
<1> For the `coreos.live.rootfs_url` artifact, specify the matching `rootfs` artifact for the `kernel` and `initramfs` that you are starting. Only HTTP and HTTPS protocols are supported.
33-
<2> For the `ip` parameter, manually assign the IP address, as described in _Installing a cluster with z/VM on {ibm-z-title} and {ibm-linuxone-title}_.
34-
<3> For installations on DASD-type disks, use `rd.dasd` to specify the DASD where Red Hat Enterprise Linux CoreOS (RHCOS) is to be installed. For installations on FCP-type disks, use `rd.zfcp=<adapter>,<wwpn>,<lun>` to specify the FCP disk where RHCOS is to be installed.
32+
+
33+
where:
34+
+
35+
`coreos.live.rootfs_url`:: For the `coreos.live.rootfs_url` artifact, specify the matching `rootfs` artifact for the `kernel` and `initramfs` that you are starting. Only HTTP and HTTPS protocols are supported.
36+
`ip`:: For the `ip` parameter, manually assign the IP address, as described in "Installing a cluster with z/VM on {ibm-z-title} and {ibm-linuxone-title}".
37+
`rd`:: For installations on DASD-type disks, use `rd.dasd` to specify the DASD where Red Hat Enterprise Linux CoreOS (RHCOS) is to be installed. For installations on FCP-type disks, use `rd.zfcp=<adapter>,<wwpn>,<lun>` to specify the FCP disk where RHCOS is to be installed.
3538
+
3639
[NOTE]
3740
====
@@ -45,8 +48,7 @@ rd.zfcp=<adapter1>,<wwpn1>,<lun1> \
4548
rd.zfcp=<adapter2>,<wwpn2>,<lun2>
4649
----
4750
+
48-
<4> Specify this parameter when you use an Open Systems Adapter (OSA) or HiperSockets.
49-
--
51+
`ai.ip_cfg_override`:: Specify this parameter when you use an Open Systems Adapter (OSA) or HiperSockets.
5052

5153
. Move `initrd`, kernel images, and the parameter file to the guest VM by running the following commands:
5254
+
@@ -93,10 +95,11 @@ NAME CLUSTER APPROVED ROLE STAGE
9395
----
9496
$ oc -n <hosted_control_plane_namespace> patch agent \
9597
50c23cda-cedc-9bbd-bcf1-9b3a5c75804d -p \
96-
'{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-zvm-0.hostedn.example.com"}}' \// <1>
98+
'{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-zvm-0.hostedn.example.com"}}' \
9799
--type merge
98100
----
99-
<1> Optionally, you can set the agent ID `<installation_disk_id>` and `<hostname>` in the specification.
101+
+
102+
Optionally, you can set the agent ID `<installation_disk_id>` and `<hostname>` in the specification.
100103

101104
. Run the following command to verify that the agents are approved:
102105
+
@@ -111,4 +114,4 @@ $ oc -n <hosted_control_plane_namespace> get agents
111114
NAME CLUSTER APPROVED ROLE STAGE
112115
50c23cda-cedc-9bbd-bcf1-9b3a5c75804d true auto-assign
113116
5e498cd3-542c-e54f-0c58-ed43e28b568a true auto-assign
114-
----
117+
----

0 commit comments

Comments
 (0)