Repository: openshift/openshift-docs
Pull request #90883: [OCPBUGS-53402]: Replacing mentions of kcli from the HCP docs
Author: login: lahinson
Labels: name: peer-review-done
description: Signifies that the peer review team has reviewed this PR
name: size/XL
description: Denotes a PR that changes 500-999 lines, ignoring generated files.
name: branch/enterprise-4.17
name: branch/enterprise-4.18
name: branch/enterprise-4.19
Created: 2025-03-21T15:13:30Z | Merged: 2025-05-29T14:50:18Z

<!--- PR title format: [GH#<gh-issue-id>][BZ#<bz-issue-id>][OCPBUGS#<jira-issue-id>][OSDOCS#<jira-issue-id>]: <short-description-of-the-pr> --->

<!--- If your changes apply to the latest release and/or in-development version of OpenShift, open your PR against the `main` branch.
Do not create or rename a top-level directory (or any subdirectory in a directory that contains a hugebook.flag file) in the repository and topic map without checking with a docs program manager first.
If a book is being created or modified, there are changes on the Customer Portal that must also be made.

* For more details about the information requested in this template, see:
  https://github.com/openshift/openshift-docs/blob/main/contributing_to_docs/create_or_edit_content.adoc#submit-PR --->

Version(s): 4.17+
<!--- Specify the version or versions of OpenShift your PR applies to. -->

Issue: https://issues.redhat.com/browse/OCPBUGS-53402
<!--- Add a link to the Bugzilla, Jira, or GitHub issue, if applicable. --->

Link to docs preview:
- Setting up a management cluster: https://90883--ocpdocs-pr.netlify.app/openshift-enterprise/latest/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.html#hcp-dc-mgmt-cluster_hcp-deploy-dc-bm
- Configuring image mirroring: https://90883--ocpdocs-pr.netlify.app/openshift-enterprise/latest/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.html#hcp-dc-image-mirror_hcp-deploy-dc-bm
- Creating bare metal hosts for the hosted cluster: https://90883--ocpdocs-pr.netlify.app/openshift-enterprise/latest/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.html#hcp-bm-hosts_hcp-deploy-dc-bm

<!--- Add direct link(s) to the exact page(s) with updated content from the preview build. --->

QE review:
- [x] QE has approved this change.
<!--- QE approval is required to merge a PR except for changes that do not impact the meaning of the docs. --->

Additional information: This PR removes information related to `kcli`, an internal tool. It also removes some redundant content from the docs for HCP in a disconnected environment.
<!--- Optional: Include additional context or expand the description here.--->

<!--- After you open your PR, ask for review from the OpenShift docs team:
  For community authors: Tag @openshift/team-documentation in a GitHub comment.--->



Diff:
diff --git a/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
index e18c51eb66c5..600f4fa47862 100644
--- a/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
+++ b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
@@ -11,10 +11,16 @@ When you provision {hcp} on bare metal, you use the Agent platform. The Agent pl
 include::modules/hcp-dc-bm-arch.adoc[leveloffset=+1]
 include::modules/hcp-dc-bm-reqs.adoc[leveloffset=+1]
 include::modules/hcp-dc-extract.adoc[leveloffset=+1]
-include::modules/hcp-dc-hypervisor.adoc[leveloffset=+1]
 include::modules/hcp-bm-dns.adoc[leveloffset=+1]
 include::modules/hcp-dc-registry.adoc[leveloffset=+1]
 include::modules/hcp-dc-mgmt-cluster.adoc[leveloffset=+1]
+
+[role="_additional-resources"]
+.Additional resources
+* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.13/html/clusters/cluster_mce_overview#mce-install-intro[Installing and upgrading multicluster engine operator]
+* xref:../../hosted_control_planes/hcp-prepare/hcp-enable-disable.html#hcp-enable-manual-addon_hcp-enable-disable[Manually enabling the hypershift-addon managed cluster add-on for local-cluster]
+* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.13/html/clusters/cluster_mce_overview#mce-intro[About cluster lifecycle with multicluster engine operator]
+
 include::modules/hcp-dc-web-server.adoc[leveloffset=+1]
 include::modules/hcp-dc-image-mirror.adoc[leveloffset=+1]
 
@@ -27,17 +33,9 @@ include::modules/hcp-dc-apply-objects.adoc[leveloffset=+1]
 
 [role="_additional-resources"]
 .Additional resources
-* xref:../../disconnected/mirroring/about-installing-oc-mirror-v2.adoc#about-installing-oc-mirror-v2[Mirroring images for a disconnected installation by using the oc-mirror plugin v2].
+* xref:../../disconnected/mirroring/about-installing-oc-mirror-v2.adoc#about-installing-oc-mirror-v2[Mirroring images for a disconnected installation by using the oc-mirror plugin v2]
 
-[id="hcp-dc-mce-bm"]
-== Deploying {mce-short} for a disconnected installation of {hcp}
-
-The {mce} plays a crucial role in deploying clusters across providers. If you do not have {mce-short} installed, review the following documentation to understand the prerequisites and steps to install it:
-
-* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.13/html/clusters/cluster_mce_overview#mce-intro[About cluster lifecycle with multicluster engine operator]
-* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.13/html/clusters/cluster_mce_overview#mce-install-intro[Installing and upgrading multicluster engine operator]
-
-include::modules/hcp-agentserviceconfig.adoc[leveloffset=+2]
+include::modules/hcp-agentserviceconfig.adoc[leveloffset=+1]
 
 [id="hcp-dc-tls-bm"]
 == Configuring TLS certificates for a disconnected installation of {hcp}
@@ -55,6 +53,11 @@ A hosted cluster is an {product-title} cluster with its control plane and API en
 include::modules/hcp-hc-objects.adoc[leveloffset=+2]
 include::modules/hcp-nodepool-hc.adoc[leveloffset=+2]
 include::modules/hcp-dc-infraenv.adoc[leveloffset=+2]
-include::modules/hcp-worker-hc.adoc[leveloffset=+2]
 include::modules/hcp-bm-hosts.adoc[leveloffset=+2]
+
+[role="_additional-resources"]
+.Additional resources
+* xref:../../installing/installing_bare_metal/upi/scaling-a-user-provisioned-cluster-with-the-bare-metal-operator.adoc#upi-provisioning-new-hosts-in-a-upi-cluster_scaling-a-user-provisioned-cluster-with-the-bare-metal-operator[Provisioning new hosts in a user-provisioned cluster by using the BMO]
+* xref:../../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets]
+
 include::modules/hcp-dc-scale-np.adoc[leveloffset=+2]
diff --git a/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc
index 9c3544f20a85..c798dcc1b2e4 100644
--- a/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc
+++ b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc
@@ -25,7 +25,7 @@ include::modules/hcp-dc-apply-objects.adoc[leveloffset=+1]
 
 [role="_additional-resources"]
 .Additional resources
-* xref:../../disconnected/mirroring/about-installing-oc-mirror-v2.adoc#about-installing-oc-mirror-v2[Mirroring images for a disconnected installation by using the oc-mirror plugin v2].
+* xref:../../disconnected/mirroring/about-installing-oc-mirror-v2.adoc#about-installing-oc-mirror-v2[Mirroring images for a disconnected installation by using the oc-mirror plugin v2]
 
 [id="hcp-dc-mce-virt"]
 == Deploying {mce-short} for a disconnected installation of {hcp}
diff --git a/modules/hcp-agentserviceconfig.adoc b/modules/hcp-agentserviceconfig.adoc
index d5539b52f3e0..38f6cd9e246b 100644
--- a/modules/hcp-agentserviceconfig.adoc
+++ b/modules/hcp-agentserviceconfig.adoc
@@ -121,4 +121,4 @@ assisted-service-668b49548-9m7xw                       2/2     Running   5
 
 .Next steps
 
-Configure TLS certificates by completing the steps in _Configuring TLS certificates for a disconnected installation of {hcp}_.
+Configure TLS certificates.
diff --git a/modules/hcp-bm-hosts.adoc b/modules/hcp-bm-hosts.adoc
index 8f2ffe25026c..4986dd6ee9a8 100644
--- a/modules/hcp-bm-hosts.adoc
+++ b/modules/hcp-bm-hosts.adoc
@@ -10,13 +10,15 @@ A _bare metal host_ is an `openshift-machine-api` object that encompasses physic
 
 .Prerequisites
 
-Before you create the bare metal host and destination nodes, you must have the destination machines ready.
+* Before you create the bare metal host and destination nodes, you must have the destination machines ready.
+
+* You have installed a {op-system-first} compute machine on bare-metal infrastructure for use in the cluster.
 
 .Procedure
 
 To create a bare metal host, complete the following steps:
 
-. Create a YAML file with the following information:
+. Create a YAML file with the following information. For more information about what details to enter for the bare metal host, see "Provisioning new hosts in a user-provisioned cluster by using the BMO".
 +
 Because you have at least one secret that holds the bare metal host credentials, you need to create at least two objects for each worker node.
 +
@@ -25,31 +27,31 @@ Because you have at least one secret that holds the bare metal host credentials,
 apiVersion: v1
 kind: Secret
 metadata:
-  name: <hosted_cluster_name>-worker0-bmc-secret \// <1>
-  namespace: <hosted_cluster_namespace>-<hosted_cluster_name> \// <2>
+  name: <hosted_cluster_name>-worker0-bmc-secret # <1>
+  namespace: <hosted_cluster_namespace>-<hosted_cluster_name> # <2>
 data:
-  password: YWRtaW4= \// <3>
-  username: YWRtaW4= \// <4>
+  password: YWRtaW4= # <3>
+  username: YWRtaW4= # <4>
 type: Opaque
 # ...
 apiVersion: metal3.io/v1alpha1
 kind: BareMetalHost
 metadata:
   name: <hosted_cluster_name>-worker0
-  namespace: <hosted_cluster_namespace>-<hosted_cluster_name> \// <2>
+  namespace: <hosted_cluster_namespace>-<hosted_cluster_name> # <2>
   labels:
-    infraenvs.agent-install.openshift.io: <hosted_cluster_name> \// <5>
+    infraenvs.agent-install.openshift.io: <hosted_cluster_name> # <5>
   annotations:
     inspect.metal3.io: disabled
-    bmac.agent-install.openshift.io/hostname: <hosted_cluster_name>-worker0 \// <6>
+    bmac.agent-install.openshift.io/hostname: <hosted_cluster_name>-worker0 # <6>
 spec:
-  automatedCleaningMode: disabled \// <7>
+  automatedCleaningMode: disabled # <7>
   bmc:
-    disableCertificateVerification: true \// <8>
-    address: redfish-virtualmedia://[192.168.126.1]:9000/redfish/v1/Systems/local/<hosted_cluster_name>-worker0 \// <9>
-    credentialsName: <hosted_cluster_name>-worker0-bmc-secret \// <10>
-  bootMACAddress: aa:aa:aa:aa:02:11 \// <11>
-  online: true // <12>
+    disableCertificateVerification: true # <8>
+    address: redfish-virtualmedia://[192.168.126.1]:9000/redfish/v1/Systems/local/<hosted_cluster_name>-worker0 # <9>
+    credentialsName: <hosted_cluster_name>-worker0-bmc-secret # <10>
+  bootMACAddress: aa:aa:aa:aa:02:11 # <11>
+  online: true # <12>
 ----
 +
 <1> Replace `<hosted_cluster_name>` with your hosted cluster.
diff --git a/modules/hcp-dc-hypervisor.adoc b/modules/hcp-dc-hypervisor.adoc
deleted file mode 100644
index 4100dc9b8fef..000000000000
--- a/modules/hcp-dc-hypervisor.adoc
+++ /dev/null
@@ -1,174 +0,0 @@
-// Module included in the following assemblies:
-//
-// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
-
-:_mod-docs-content-type: PROCEDURE
-[id="hcp-dc-hypervisor_{context}"]
-= Configuring the hypervisor for a disconnected installation of {hcp}
-
-The following information applies to virtual machine environments only.
-
-.Procedure
-
-. To deploy a virtual management cluster, access the required packages by entering the following command:
-+
-[source,terminal]
-----
-$ sudo dnf install dnsmasq radvd vim golang podman bind-utils \
-  net-tools httpd-tools tree htop strace tmux -y
-----
-
-. Enable and start the Podman service by entering the following command:
-+
-[source,terminal]
-----
-$ systemctl enable --now podman
-----
-
-. To use `kcli` to deploy the management cluster and other virtual components, install and configure the hypervisor by entering the following commands:
-+
-[source,terminal]
-----
-$ sudo yum -y install libvirt libvirt-daemon-driver-qemu qemu-kvm
-----
-+
-[source,terminal]
-----
-$ sudo usermod -aG qemu,libvirt $(id -un)
-----
-+
-[source,terminal]
-----
-$ sudo newgrp libvirt
-----
-+
-[source,terminal]
-----
-$ sudo systemctl enable --now libvirtd
-----
-+
-[source,terminal]
-----
-$ sudo dnf -y copr enable karmab/kcli
-----
-+
-[source,terminal]
-----
-$ sudo dnf -y install kcli
-----
-+
-[source,terminal]
-----
-$ sudo kcli create pool -p /var/lib/libvirt/images default
-----
-+
-[source,terminal]
-----
-$ kcli create host kvm -H 127.0.0.1 local
-----
-+
-[source,terminal]
-----
-$ sudo setfacl -m u:$(id -un):rwx /var/lib/libvirt/images
-----
-+
-[source,terminal]
-----
-$ kcli create network  -c 192.168.122.0/24 default
-----
-
-. Enable the network manager dispatcher to ensure that virtual machines can resolve the required domains, routes, and registries. To enable the network manager dispatcher, in the `/etc/NetworkManager/dispatcher.d/` directory, create a script named `forcedns` that contains the following content:
-+
-[source,bash]
-----
-#!/bin/bash
-
-export IP="192.168.126.1" <1>
-export BASE_RESOLV_CONF="/run/NetworkManager/resolv.conf"
-
-if ! [[ `grep -q "$IP" /etc/resolv.conf` ]]; then
-export TMP_FILE=$(mktemp /etc/forcedns_resolv.conf.XXXXXX)
-cp $BASE_RESOLV_CONF $TMP_FILE
-chmod --reference=$BASE_RESOLV_CONF $TMP_FILE
-sed -i -e "s/dns.base.domain.name//" \
-       -e "s/search /& dns.base.domain.name /" \
-       -e "0,/nameserver/s/nameserver/& $IP\n&/" $TMP_FILE <2>
-mv $TMP_FILE /etc/resolv.conf
-fi
-echo "ok"
-----
-+
-<1> Modify the `IP` variable to point to the IP address of the hypervisor interface that hosts the {product-title} management cluster.
-<2> Replace `dns.base.domain.name` with the DNS base domain name.
-
-. After you create the file, add permissions by entering the following command:
-+
-[source,terminal]
-----
-$ chmod 755 /etc/NetworkManager/dispatcher.d/forcedns
-----
-
-. Run the script and verify that the output returns `ok`.
-
-. Configure `ksushy` to simulate baseboard management controllers (BMCs) for the virtual machines. Enter the following commands:
-+
-[source,terminal]
-----
-$ sudo dnf install python3-pyOpenSSL.noarch python3-cherrypy -y
-----
-+
-[source,terminal]
-----
-$ kcli create sushy-service --ssl --ipv6 --port 9000
-----
-+
-[source,terminal]
-----
-$ sudo systemctl daemon-reload
-----
-+
-[source,terminal]
-----
-$ systemctl enable --now ksushy
-----
-
-. Test whether the service is correctly functioning by entering the following command:
-+
-[source,terminal]
-----
-$ systemctl status ksushy
-----
-
-. If you are working in a development environment, configure the hypervisor system to allow various types of connections through different virtual networks within the environment.
-+
-[NOTE]
-====
-If you are working in a production environment, you must establish proper rules for the `firewalld` service and configure SELinux policies to maintain a secure environment. 
-====
-
-* For SELinux, enter the following command:
-+
-[source,terminal]
-----
-$ sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config; \
-  setenforce 0
-----
-
-* For `firewalld`, enter the following command:
-+
-[source,terminal]
-----
-$ systemctl disable --now firewalld
-----
-
-* For `libvirtd`, enter the following commands:
-+
-[source,terminal]
-----
-$ systemctl restart libvirtd
-----
-+
-[source,terminal]
-----
-$ systemctl enable --now libvirtd
-----
\ No newline at end of file
diff --git a/modules/hcp-dc-image-mirror.adoc b/modules/hcp-dc-image-mirror.adoc
index a4def21339ae..3d96b29a7e45 100644
--- a/modules/hcp-dc-image-mirror.adoc
+++ b/modules/hcp-dc-image-mirror.adoc
@@ -40,17 +40,6 @@ mirror:
       type: ocp
     kubeVirtContainer: true <2>
     graph: true
-  additionalImages: <3>
-  - name: quay.io/karmab/origin-keepalived-ipfailover:latest
-  - name: quay.io/karmab/kubectl:latest
-  - name: quay.io/karmab/haproxy:latest
-  - name: quay.io/karmab/mdns-publisher:latest
-  - name: quay.io/karmab/origin-coredns:latest
-  - name: quay.io/karmab/curl:latest
-  - name: quay.io/karmab/kcli:latest
-  - name: quay.io/user-name/trbsht:latest
-  - name: quay.io/user-name/hypershift:BMSelfManage-v{product-version}
-  - name: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10
   operators:
   - catalog: registry.redhat.io/redhat/redhat-operator-index:v{product-version}
     packages:
@@ -61,13 +50,12 @@ mirror:
     - name: mcg-operator
     - name: ocs-operator
     - name: metallb-operator
-    - name: kubevirt-hyperconverged <4>
+    - name: kubevirt-hyperconverged <3>
 ----
 +
 <1> Replace `<4.x.y-build>` with the supported {product-title} version you want to use.
 <2> Set this optional flag to `true` if you want to also mirror the container disk image for the {op-system-first} boot image for the KubeVirt provider. This flag is available with oc-mirror v2 only.
-<3> Images specified in the `additionalImages` field are examples only and are not strictly needed.
-<4> For deployments that use the KubeVirt provider, include this line.
+<3> For deployments that use the KubeVirt provider, include this line.
 
 . Start the mirroring process by entering the following command:
 +
diff --git a/modules/hcp-dc-mgmt-cluster.adoc b/modules/hcp-dc-mgmt-cluster.adoc
index 62fc88df4413..3f81e3fb4be6 100644
--- a/modules/hcp-dc-mgmt-cluster.adoc
+++ b/modules/hcp-dc-mgmt-cluster.adoc
@@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that the {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
 
-.Procedure
+.Prerequisites
 
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+* There must be bidirectional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target Bare Metal Host (BMH). As an alternative, you follow a Boot It Yourself approach through the Agent provider.
 
-* `-c` specifies the CIDR for the network.
-* `-P dhcp=false` configures the network to disable the DHCP, which is handled by the `dnsmasq` that you configured.
-* `-P dns=false` configures the network to disable the DNS, which is also handled by the `dnsmasq` that you configured.
-* `--domain` sets the domain to search.
-* `dns.base.domain.name` is the DNS base domain name.
-* `dual` is the name of the network that you are creating.
+* The hosted cluster must be able to resolve and reach the API hostname of the management cluster hostname and `{asterisk}.apps` hostname. Here is an example of the API hostname of the management cluster and `{asterisk}.apps` hostname:
 
-. After the network is created, review the following output:
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli list network
-Listing Networks...
-+---------+--------+---------------------+-------+------------------+------+
-| Network |  Type  |         Cidr        |  Dhcp |      Domain      | Mode |
-+---------+--------+---------------------+-------+------------------+------+
-| default | routed |   192.168.122.0/24  |  True |     default      | nat  |
-| ipv4    | routed | 2620:52:0:1306::/64 | False | dns.base.domain.name | nat  |
-| ipv4    | routed |   192.168.125.0/24  | False | dns.base.domain.name | nat  |
-| ipv6    | routed | 2620:52:0:1305::/64 | False | dns.base.domain.name | nat  |
-+---------+--------+---------------------+-------+------------------+------+
-----
+** `api.management-cluster.internal.domain.com`
+** `console-openshift-console.apps.management-cluster.internal.domain.com`
 
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli info network ipv6
-Providing information about network ipv6...
-cidr: 2620:52:0:1306::/64
-dhcp: false
-domain: dns.base.domain.name
-mode: nat
-plan: kvirt
-type: routed
-----
+* The management cluster must be able to resolve and reach the API and `{asterisk}.apps` hostname of the hosted cluster. Here is an example of the API hostname of the hosted cluster and `{asterisk}.apps` hostname:
 
-. Ensure that the pull secret and `kcli` plan files are in place so that you can deploy the {product-title} management cluster:
+** `api.sno-hosted-cluster-1.internal.domain.com`
+** `console-openshift-console.apps.sno-hosted-cluster-1.internal.domain.com`
 
-.. Confirm that the pull secret is in the same folder as the `kcli` plan, and that the pull secret file is named `openshift_pull.json`.
+.Procedure
 
-.. Add the `kcli` plan, which contains the {product-title} definition, in the `mgmt-compact-hub-dual.yaml` file. Ensure that you update the file contents to match your environment:
-+
-[source,yaml]
-----
-plan: hub-dual
-force: true
-version: stable
-tag: "<4.x.y>-x86_64" <1>
-cluster: "hub-dual"
-dualstack: true
-domain: dns.base.domain.name
-api_ip: 192.168.126.10
-ingress_ip: 192.168.126.11
-service_networks:
-- 172.30.0.0/16
-- fd02::/112
-cluster_networks:
-- 10.132.0.0/14
-- fd01::/48
-disconnected_url: registry.dns.base.domain.name:5000
-disconnected_update: true
-disconnected_user: dummy
-disconnected_password: dummy
-disconnected_operators_version: v4.14
-disconnected_operators:
-- name: metallb-operator
-- name: lvms-operator
-  channels:
-  - name: stable-4.14
-disconnected_extra_images:
-- quay.io/user-name/trbsht:latest
-- quay.io/user-name/hypershift:BMSelfManage-v4.14-rc-v3
-- registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10
-dualstack: true
-disk_size: 200
-extra_disks: [200]
-memory: 48000
-numcpus: 16
-ctlplanes: 3
-workers: 0
-manifests: extra-manifests
-metal3: true
-network: dual
-users_dev: developer
-users_devpassword: developer
-users_admin: admin
-users_adminpassword: admin
-metallb_pool: dual-virtual-network
-metallb_ranges:
-- 192.168.126.150-192.168.126.190
-metallb_autoassign: true
-apps:
-- users
-- lvms-operator
-- metallb-operator
-vmrules:
-- hub-bootstrap:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:07
-- hub-ctlplane-0:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:01
-- hub-ctlplane-1:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:02
-- hub-ctlplane-2:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:03
-----
-+
-<1> Replace `<4.x.y>` with the supported {product-title} version you want to use.
+. Install {mce-short} 2.4 or later on an {product-title} cluster. You can install {mce-short} as an Operator from the {product-title} OperatorHub. The HyperShift Operator is included with {mce-short}. For more information about installing {mce-short}, see "Installing and upgrading multicluster engine operator" in the Red{nbsp}Hat Advanced Cluster Management documentation.
 
-. To provision the management cluster, enter the following command:
-+
-[source,terminal]
-----
-$ kcli create cluster openshift --pf mgmt-compact-hub-dual.yaml
-----
+. Ensure that the HyperShift Operator is installed. The HyperShift Operator is automatically included with {mce-short}, but if you need to manually install it, follow the steps in "Manually enabling the hypershift-addon managed cluster add-on for local-cluster".
 
 .Next steps
 
-Next, configure the web server.
+Next, configure the web server.
\ No newline at end of file
diff --git a/modules/hcp-worker-hc.adoc b/modules/hcp-worker-hc.adoc
deleted file mode 100644
index d8e7028c1427..000000000000
--- a/modules/hcp-worker-hc.adoc
+++ /dev/null
@@ -1,116 +0,0 @@
-// Module included in the following assemblies:
-//
-// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
-
-:_mod-docs-content-type: PROCEDURE
-[id="hcp-worker-hc_{context}"]
-= Creating worker nodes for the hosted cluster
-
-If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
-
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
-
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
-
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
-
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
-
-.. Enter the following command to create the third virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
-
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
-+
-[source,terminal]
-----
-$ systemctl restart ksushy
-----
-+
-.Example output
-[source,terminal]
-----
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-|         Name        | Status |         Ip        |                       Source                       |     Plan    | Profile |
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-|    hosted-worker0   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-|    hosted-worker1   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-|    hosted-worker2   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-----
\ No newline at end of file


Reviews:
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:39Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:40Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:41Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:42Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:43Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:45Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:46Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:47Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:47Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:48Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:49Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-21T15:23:53Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-24T14:00:07Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-24T14:17:22Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-24T14:17:23Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-24T14:17:24Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-24T14:17:25Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-24T14:17:26Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-24T14:17:27Z
user: login: ocpdocs-vale-bot
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-24T14:17:28Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-24T15:46:31Z
user: login: celebdor
state: CHANGES_REQUESTED
author_association: NONE
submitted_at: 2025-04-11T15:30:57Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-14T15:33:04Z
user: login: jparrill
state: COMMENTED
author_association: NONE
submitted_at: 2025-04-15T07:22:00Z
user: login: jparrill
body: Dropped some comments :). Thanks!
state: CHANGES_REQUESTED
author_association: NONE
submitted_at: 2025-04-15T09:35:34Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-15T18:54:44Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-01T15:08:19Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-01T15:28:30Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-01T15:33:43Z
user: login: jparrill
state: COMMENTED
author_association: NONE
submitted_at: 2025-05-08T16:30:01Z
user: login: celebdor
state: CHANGES_REQUESTED
author_association: NONE
submitted_at: 2025-05-09T16:24:28Z
user: login: celebdor
body: /lgtm
state: APPROVED
author_association: NONE
submitted_at: 2025-05-19T14:48:30Z
user: login: jparrill
body: /lgtm
state: COMMENTED
author_association: NONE
submitted_at: 2025-05-26T07:51:37Z
user: login: mgencur
body: Hey! Left some comments.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-26T08:52:47Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-27T13:19:18Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-27T17:59:27Z
user: login: mgencur
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-28T10:02:30Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-28T14:27:16Z
user: login: GroceryBoyJr
body: LGTM, with a couple tiny nits.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-28T22:21:00Z
user: login: mgencur
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-29T05:15:16Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-29T14:23:58Z
user: login: lahinson
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-29T14:24:55Z

Review comments:
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal hosts' rather than 'bare metal hosts'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:39Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal host' rather than 'bare metal host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:40Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal infrastructure' rather than 'bare metal infrastructure'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:41Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal host' rather than 'bare metal host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:42Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal Hosts' rather than 'Bare Metal Hosts'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:43Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal host' rather than 'bare metal host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:45Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] OpenShiftAsciiDoc.NoXrefInModules**: Do not include xrefs in modules, only assemblies. 
created_at: 2025-03-21T15:23:46Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new bare metal host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal host' rather than 'bare metal host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:47Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new bare metal host.
+. Scale up the number of replicas to match the number of available bare metal hosts. Navigate to *Compute* -> *MachineSets*, and increase the number of machines in the cluster by selecting *Edit Machine count* from the *Actions* drop-down menu.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal hosts' rather than 'bare metal hosts'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:47Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new bare metal host.
+. Scale up the number of replicas to match the number of available bare metal hosts. Navigate to *Compute* -> *MachineSets*, and increase the number of machines in the cluster by selecting *Edit Machine count* from the *Actions* drop-down menu.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] Vale.Avoid**: Avoid using 'MachineSets'. 
created_at: 2025-03-21T15:23:48Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new bare metal host.
+. Scale up the number of replicas to match the number of available bare metal hosts. Navigate to *Compute* -> *MachineSets*, and increase the number of machines in the cluster by selecting *Edit Machine count* from the *Actions* drop-down menu.
 +
-[source,terminal]
-----
-$ systemctl restart ksushy
-----
-+
-.Example output
-[source,terminal]
-----
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-|         Name        | Status |         Ip        |                       Source                       |     Plan    | Profile |
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-|    hosted-worker0   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-|    hosted-worker1   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-|    hosted-worker2   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-----
\ No newline at end of file
+[NOTE]
+====
+You can also manage the number of bare metal nodes using the `oc scale` command and the appropriate bare metal compute machine set.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal nodes' rather than 'bare metal nodes'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:49Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new bare metal host.
+. Scale up the number of replicas to match the number of available bare metal hosts. Navigate to *Compute* -> *MachineSets*, and increase the number of machines in the cluster by selecting *Edit Machine count* from the *Actions* drop-down menu.
 +
-[source,terminal]
-----
-$ systemctl restart ksushy
-----
-+
-.Example output
-[source,terminal]
-----
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-|         Name        | Status |         Ip        |                       Source                       |     Plan    | Profile |
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-|    hosted-worker0   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-|    hosted-worker1   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-|    hosted-worker2   |  down  |                   |                                                    | hosted-dual |  kvirt  |
-+---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+
-----
\ No newline at end of file
+[NOTE]
+====
+You can also manage the number of bare metal nodes using the `oc scale` command and the appropriate bare metal compute machine set.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal compute' rather than 'bare metal compute'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-21T15:23:53Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the bare metal host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see xref:../nodes/pods/nodes-pods-secrets.adoc#nodes-pods-secrets-about_nodes-pods-secrets[Understanding secrets].
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new bare metal host.
+. Scale up the number of replicas to match the number of available bare metal hosts. Navigate to *Compute* -> *MachineSets*, and increase the number of machines in the cluster by selecting *Edit Machine count* from the *Actions* drop-down menu.
path: modules/hcp-worker-hc.adoc
user: login: lahinson
body: This is a reference to a word in the UI. Ignoring this vale-bot suggestion.
created_at: 2025-03-24T14:00:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal Hosts' rather than 'Bare Metal Hosts'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-24T14:17:22Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal Host' rather than 'Bare Metal Host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-24T14:17:23Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal Host' rather than 'Bare Metal Host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-24T14:17:24Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the Bare Metal Host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see "Understanding secrets".
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal Host' rather than 'Bare Metal Host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-24T14:17:25Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the Bare Metal Host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see "Understanding secrets".
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new Bare Metal Host.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal Host' rather than 'Bare Metal Host'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-24T14:17:26Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the Bare Metal Host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see "Understanding secrets".
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new Bare Metal Host.
+. Scale up the number of replicas to match the number of available Bare Metal Hosts. Navigate to *Compute* -> *MachineSets*, and increase the number of machines in the cluster by selecting *Edit Machine count* from the *Actions* drop-down menu.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] RedHat.TermsErrors**: Use 'bare-metal Hosts' rather than 'Bare Metal Hosts'. For more information, see [RedHat.TermsErrors](https://redhat-documentation.github.io/vale-at-red-hat/docs/main/reference-guide/termserrors).
created_at: 2025-03-24T14:17:27Z
author_association: COLLABORATOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
 ----
 +
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+<1> `credentialsName` must reference a valid `Secret` CR. The `baremetal-operator` cannot manage the Bare Metal Host without a valid `Secret` referenced in the `credentialsName`. For more information about secrets and how to create them, see "Understanding secrets".
+<2> Setting `disableCertificateVerification` to `true` disables TLS host validation between the cluster and the baseboard management controller (BMC).
 
-. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added:
+. Select *Create* to save the YAML and create the new Bare Metal Host.
+. Scale up the number of replicas to match the number of available Bare Metal Hosts. Navigate to *Compute* -> *MachineSets*, and increase the number of machines in the cluster by selecting *Edit Machine count* from the *Actions* drop-down menu.
path: modules/hcp-worker-hc.adoc
user: login: ocpdocs-vale-bot
body: 🤖 **[error] Vale.Avoid**: Avoid using 'MachineSets'. 
created_at: 2025-03-24T14:17:28Z
author_association: COLLABORATOR
diff_hunk: @@ -6,142 +6,23 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you can use dev-scripts.
 
-.Procedure
-
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+.Prerequisites
 
-* `-c` specifies the CIDR for the network.
-* `-P dhcp=false` configures the network to disable the DHCP, which is handled by the `dnsmasq` that you configured.
-* `-P dns=false` configures the network to disable the DNS, which is also handled by the `dnsmasq` that you configured.
-* `--domain` sets the domain to search.
-* `dns.base.domain.name` is the DNS base domain name.
-* `dual` is the name of the network that you are creating.
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target bare-metal host.
 
-. After the network is created, review the following output:
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli list network
-Listing Networks...
-+---------+--------+---------------------+-------+------------------+------+
-| Network |  Type  |         Cidr        |  Dhcp |      Domain      | Mode |
-+---------+--------+---------------------+-------+------------------+------+
-| default | routed |   192.168.122.0/24  |  True |     default      | nat  |
-| ipv4    | routed | 2620:52:0:1306::/64 | False | dns.base.domain.name | nat  |
-| ipv4    | routed |   192.168.125.0/24  | False | dns.base.domain.name | nat  |
-| ipv6    | routed | 2620:52:0:1305::/64 | False | dns.base.domain.name | nat  |
-+---------+--------+---------------------+-------+------------------+------+
-----
+* The hosted cluster must be able to resolve and reach the API hostname of the management cluster hostname and `{asterisk}.apps` hostname. Here is an example of the API hostname of the management cluster and `{asterisk}.apps` hostname:
 
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli info network ipv6
-Providing information about network ipv6...
-cidr: 2620:52:0:1306::/64
-dhcp: false
-domain: dns.base.domain.name
-mode: nat
-plan: kvirt
-type: routed
-----
+** `api.management-cluster.internal.domain.com`
+** `console-openshift-console.apps.management-cluster.internal.domain.com`
 
-. Ensure that the pull secret and `kcli` plan files are in place so that you can deploy the {product-title} management cluster:
+* The management cluster must be able to resolve and reach the API and `{asterisk}.apps` hostname of the hosted cluster. Here is an example of the API hostname of the hosted cluster and `{asterisk}.apps` hostname:
 
-.. Confirm that the pull secret is in the same folder as the `kcli` plan, and that the pull secret file is named `openshift_pull.json`.
+** `api.sno-hosted-cluster-1.internal.domain.com`
+** `console-openshift-console.apps.sno-hosted-cluster-1.internal.domain.com`
 
-.. Add the `kcli` plan, which contains the {product-title} definition, in the `mgmt-compact-hub-dual.yaml` file. Ensure that you update the file contents to match your environment:
-+
-[source,yaml]
-----
-plan: hub-dual
-force: true
-version: stable
-tag: "<4.x.y>-x86_64" <1>
-cluster: "hub-dual"
-dualstack: true
-domain: dns.base.domain.name
-api_ip: 192.168.126.10
-ingress_ip: 192.168.126.11
-service_networks:
-- 172.30.0.0/16
-- fd02::/112
-cluster_networks:
-- 10.132.0.0/14
-- fd01::/48
-disconnected_url: registry.dns.base.domain.name:5000
-disconnected_update: true
-disconnected_user: dummy
-disconnected_password: dummy
-disconnected_operators_version: v4.14
-disconnected_operators:
-- name: metallb-operator
-- name: lvms-operator
-  channels:
-  - name: stable-4.14
-disconnected_extra_images:
-- quay.io/user-name/trbsht:latest
-- quay.io/user-name/hypershift:BMSelfManage-v4.14-rc-v3
-- registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10
-dualstack: true
-disk_size: 200
-extra_disks: [200]
-memory: 48000
-numcpus: 16
-ctlplanes: 3
-workers: 0
-manifests: extra-manifests
-metal3: true
-network: dual
-users_dev: developer
-users_devpassword: developer
-users_admin: admin
-users_adminpassword: admin
-metallb_pool: dual-virtual-network
-metallb_ranges:
-- 192.168.126.150-192.168.126.190
-metallb_autoassign: true
-apps:
-- users
-- lvms-operator
-- metallb-operator
-vmrules:
-- hub-bootstrap:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:07
-- hub-ctlplane-0:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:01
-- hub-ctlplane-1:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:02
-- hub-ctlplane-2:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:03
-----
-+
-<1> Replace `<4.x.y>` with the supported {product-title} version you want to use.
-
-. To provision the management cluster, enter the following command:
-+
-[source,terminal]
-----
-$ kcli create cluster openshift --pf mgmt-compact-hub-dual.yaml
-----
+.Procedure
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: lahinson
body: Technical reviewers: I need some help to determine what the procedure should be for setting up the management cluster in a disconnected environment if `kcli` cannot be used.
created_at: 2025-03-24T15:46:31Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,142 +6,23 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you can use dev-scripts.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: celebdor
body: dev-scripts is still for a development environment. I'm not sure we should suggest that to customers.
created_at: 2025-04-11T15:29:08Z
author_association: NONE
diff_hunk: @@ -6,142 +6,23 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you can use dev-scripts.
 
-.Procedure
-
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+.Prerequisites
 
-* `-c` specifies the CIDR for the network.
-* `-P dhcp=false` configures the network to disable the DHCP, which is handled by the `dnsmasq` that you configured.
-* `-P dns=false` configures the network to disable the DNS, which is also handled by the `dnsmasq` that you configured.
-* `--domain` sets the domain to search.
-* `dns.base.domain.name` is the DNS base domain name.
-* `dual` is the name of the network that you are creating.
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target bare-metal host.
 
-. After the network is created, review the following output:
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli list network
-Listing Networks...
-+---------+--------+---------------------+-------+------------------+------+
-| Network |  Type  |         Cidr        |  Dhcp |      Domain      | Mode |
-+---------+--------+---------------------+-------+------------------+------+
-| default | routed |   192.168.122.0/24  |  True |     default      | nat  |
-| ipv4    | routed | 2620:52:0:1306::/64 | False | dns.base.domain.name | nat  |
-| ipv4    | routed |   192.168.125.0/24  | False | dns.base.domain.name | nat  |
-| ipv6    | routed | 2620:52:0:1305::/64 | False | dns.base.domain.name | nat  |
-+---------+--------+---------------------+-------+------------------+------+
-----
+* The hosted cluster must be able to resolve and reach the API hostname of the management cluster hostname and `{asterisk}.apps` hostname. Here is an example of the API hostname of the management cluster and `{asterisk}.apps` hostname:
 
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli info network ipv6
-Providing information about network ipv6...
-cidr: 2620:52:0:1306::/64
-dhcp: false
-domain: dns.base.domain.name
-mode: nat
-plan: kvirt
-type: routed
-----
+** `api.management-cluster.internal.domain.com`
+** `console-openshift-console.apps.management-cluster.internal.domain.com`
 
-. Ensure that the pull secret and `kcli` plan files are in place so that you can deploy the {product-title} management cluster:
+* The management cluster must be able to resolve and reach the API and `{asterisk}.apps` hostname of the hosted cluster. Here is an example of the API hostname of the hosted cluster and `{asterisk}.apps` hostname:
 
-.. Confirm that the pull secret is in the same folder as the `kcli` plan, and that the pull secret file is named `openshift_pull.json`.
+** `api.sno-hosted-cluster-1.internal.domain.com`
+** `console-openshift-console.apps.sno-hosted-cluster-1.internal.domain.com`
 
-.. Add the `kcli` plan, which contains the {product-title} definition, in the `mgmt-compact-hub-dual.yaml` file. Ensure that you update the file contents to match your environment:
-+
-[source,yaml]
-----
-plan: hub-dual
-force: true
-version: stable
-tag: "<4.x.y>-x86_64" <1>
-cluster: "hub-dual"
-dualstack: true
-domain: dns.base.domain.name
-api_ip: 192.168.126.10
-ingress_ip: 192.168.126.11
-service_networks:
-- 172.30.0.0/16
-- fd02::/112
-cluster_networks:
-- 10.132.0.0/14
-- fd01::/48
-disconnected_url: registry.dns.base.domain.name:5000
-disconnected_update: true
-disconnected_user: dummy
-disconnected_password: dummy
-disconnected_operators_version: v4.14
-disconnected_operators:
-- name: metallb-operator
-- name: lvms-operator
-  channels:
-  - name: stable-4.14
-disconnected_extra_images:
-- quay.io/user-name/trbsht:latest
-- quay.io/user-name/hypershift:BMSelfManage-v4.14-rc-v3
-- registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10
-dualstack: true
-disk_size: 200
-extra_disks: [200]
-memory: 48000
-numcpus: 16
-ctlplanes: 3
-workers: 0
-manifests: extra-manifests
-metal3: true
-network: dual
-users_dev: developer
-users_devpassword: developer
-users_admin: admin
-users_adminpassword: admin
-metallb_pool: dual-virtual-network
-metallb_ranges:
-- 192.168.126.150-192.168.126.190
-metallb_autoassign: true
-apps:
-- users
-- lvms-operator
-- metallb-operator
-vmrules:
-- hub-bootstrap:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:07
-- hub-ctlplane-0:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:01
-- hub-ctlplane-1:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:02
-- hub-ctlplane-2:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:03
-----
-+
-<1> Replace `<4.x.y>` with the supported {product-title} version you want to use.
-
-. To provision the management cluster, enter the following command:
-+
-[source,terminal]
-----
-$ kcli create cluster openshift --pf mgmt-compact-hub-dual.yaml
-----
+.Procedure
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: celebdor
body: I think we should just refer to the MCE installation and then provide the info on how to generate the HyperShift Operator config. @jparrill what do you think?
created_at: 2025-04-11T15:30:24Z
author_association: NONE
diff_hunk: @@ -6,142 +6,23 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you can use dev-scripts.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: lahinson
body: Removed. Thanks!
created_at: 2025-04-14T15:33:04Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,142 +6,23 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you can use dev-scripts.
 
-.Procedure
-
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+.Prerequisites
 
-* `-c` specifies the CIDR for the network.
-* `-P dhcp=false` configures the network to disable the DHCP, which is handled by the `dnsmasq` that you configured.
-* `-P dns=false` configures the network to disable the DNS, which is also handled by the `dnsmasq` that you configured.
-* `--domain` sets the domain to search.
-* `dns.base.domain.name` is the DNS base domain name.
-* `dual` is the name of the network that you are creating.
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target bare-metal host.
 
-. After the network is created, review the following output:
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli list network
-Listing Networks...
-+---------+--------+---------------------+-------+------------------+------+
-| Network |  Type  |         Cidr        |  Dhcp |      Domain      | Mode |
-+---------+--------+---------------------+-------+------------------+------+
-| default | routed |   192.168.122.0/24  |  True |     default      | nat  |
-| ipv4    | routed | 2620:52:0:1306::/64 | False | dns.base.domain.name | nat  |
-| ipv4    | routed |   192.168.125.0/24  | False | dns.base.domain.name | nat  |
-| ipv6    | routed | 2620:52:0:1305::/64 | False | dns.base.domain.name | nat  |
-+---------+--------+---------------------+-------+------------------+------+
-----
+* The hosted cluster must be able to resolve and reach the API hostname of the management cluster hostname and `{asterisk}.apps` hostname. Here is an example of the API hostname of the management cluster and `{asterisk}.apps` hostname:
 
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli info network ipv6
-Providing information about network ipv6...
-cidr: 2620:52:0:1306::/64
-dhcp: false
-domain: dns.base.domain.name
-mode: nat
-plan: kvirt
-type: routed
-----
+** `api.management-cluster.internal.domain.com`
+** `console-openshift-console.apps.management-cluster.internal.domain.com`
 
-. Ensure that the pull secret and `kcli` plan files are in place so that you can deploy the {product-title} management cluster:
+* The management cluster must be able to resolve and reach the API and `{asterisk}.apps` hostname of the hosted cluster. Here is an example of the API hostname of the hosted cluster and `{asterisk}.apps` hostname:
 
-.. Confirm that the pull secret is in the same folder as the `kcli` plan, and that the pull secret file is named `openshift_pull.json`.
+** `api.sno-hosted-cluster-1.internal.domain.com`
+** `console-openshift-console.apps.sno-hosted-cluster-1.internal.domain.com`
 
-.. Add the `kcli` plan, which contains the {product-title} definition, in the `mgmt-compact-hub-dual.yaml` file. Ensure that you update the file contents to match your environment:
-+
-[source,yaml]
-----
-plan: hub-dual
-force: true
-version: stable
-tag: "<4.x.y>-x86_64" <1>
-cluster: "hub-dual"
-dualstack: true
-domain: dns.base.domain.name
-api_ip: 192.168.126.10
-ingress_ip: 192.168.126.11
-service_networks:
-- 172.30.0.0/16
-- fd02::/112
-cluster_networks:
-- 10.132.0.0/14
-- fd01::/48
-disconnected_url: registry.dns.base.domain.name:5000
-disconnected_update: true
-disconnected_user: dummy
-disconnected_password: dummy
-disconnected_operators_version: v4.14
-disconnected_operators:
-- name: metallb-operator
-- name: lvms-operator
-  channels:
-  - name: stable-4.14
-disconnected_extra_images:
-- quay.io/user-name/trbsht:latest
-- quay.io/user-name/hypershift:BMSelfManage-v4.14-rc-v3
-- registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10
-dualstack: true
-disk_size: 200
-extra_disks: [200]
-memory: 48000
-numcpus: 16
-ctlplanes: 3
-workers: 0
-manifests: extra-manifests
-metal3: true
-network: dual
-users_dev: developer
-users_devpassword: developer
-users_admin: admin
-users_adminpassword: admin
-metallb_pool: dual-virtual-network
-metallb_ranges:
-- 192.168.126.150-192.168.126.190
-metallb_autoassign: true
-apps:
-- users
-- lvms-operator
-- metallb-operator
-vmrules:
-- hub-bootstrap:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:07
-- hub-ctlplane-0:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:01
-- hub-ctlplane-1:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:02
-- hub-ctlplane-2:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:03
-----
-+
-<1> Replace `<4.x.y>` with the supported {product-title} version you want to use.
-
-. To provision the management cluster, enter the following command:
-+
-[source,terminal]
-----
-$ kcli create cluster openshift --pf mgmt-compact-hub-dual.yaml
-----
+.Procedure
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: jparrill
body: Yes, for downstream bits, I would refer to the MCE deployment via OLM in the official docs. Once you install MCE/ACM, the Hypershift Operator will be deployed automatically (It's set in the default addons to be installed)
created_at: 2025-04-15T07:21:59Z
author_association: NONE
diff_hunk: @@ -6,142 +6,23 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, complete the following steps.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: jparrill
body: As I mentioned in other comment, I would refer to the MCE doc to deploy the HO
created_at: 2025-04-15T09:31:44Z
author_association: NONE
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
path: modules/hcp-worker-hc.adoc
user: login: jparrill
body: I would mention that this is a sample, and all the documentaiton regarding the BareMetal Operator could be found in the RedHat official doc:
- https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/post-installation_configuration/post-install-bare-metal-configuration#the-baremetalhost-spec 
created_at: 2025-04-15T09:34:58Z
author_association: NONE
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
 +
-[source,terminal]
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
+metadata:
+  name: <bare_metal_host_name>
+spec:
+  online: true
+  bmc:
+    address: <bmc_address>
+    credentialsName: <secret_credentials_name>  <1>
+    disableCertificateVerification: True <2>
+  bootMACAddress: <host_boot_mac_address>
path: modules/hcp-worker-hc.adoc
user: login: jparrill
body: Same than above
created_at: 2025-04-15T09:35:19Z
author_association: NONE
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, complete the following steps.
 
-.Procedure
+.Prerequisites
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: lahinson
body: @jparrill @celebdor - When you are back from PTO, let me know whether these prereqs still apply now that the procedure has been changed.
created_at: 2025-04-15T18:54:44Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,142 +6,23 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you can use dev-scripts.
 
-.Procedure
-
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+.Prerequisites
 
-* `-c` specifies the CIDR for the network.
-* `-P dhcp=false` configures the network to disable the DHCP, which is handled by the `dnsmasq` that you configured.
-* `-P dns=false` configures the network to disable the DNS, which is also handled by the `dnsmasq` that you configured.
-* `--domain` sets the domain to search.
-* `dns.base.domain.name` is the DNS base domain name.
-* `dual` is the name of the network that you are creating.
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target bare-metal host.
 
-. After the network is created, review the following output:
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli list network
-Listing Networks...
-+---------+--------+---------------------+-------+------------------+------+
-| Network |  Type  |         Cidr        |  Dhcp |      Domain      | Mode |
-+---------+--------+---------------------+-------+------------------+------+
-| default | routed |   192.168.122.0/24  |  True |     default      | nat  |
-| ipv4    | routed | 2620:52:0:1306::/64 | False | dns.base.domain.name | nat  |
-| ipv4    | routed |   192.168.125.0/24  | False | dns.base.domain.name | nat  |
-| ipv6    | routed | 2620:52:0:1305::/64 | False | dns.base.domain.name | nat  |
-+---------+--------+---------------------+-------+------------------+------+
-----
+* The hosted cluster must be able to resolve and reach the API hostname of the management cluster hostname and `{asterisk}.apps` hostname. Here is an example of the API hostname of the management cluster and `{asterisk}.apps` hostname:
 
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli info network ipv6
-Providing information about network ipv6...
-cidr: 2620:52:0:1306::/64
-dhcp: false
-domain: dns.base.domain.name
-mode: nat
-plan: kvirt
-type: routed
-----
+** `api.management-cluster.internal.domain.com`
+** `console-openshift-console.apps.management-cluster.internal.domain.com`
 
-. Ensure that the pull secret and `kcli` plan files are in place so that you can deploy the {product-title} management cluster:
+* The management cluster must be able to resolve and reach the API and `{asterisk}.apps` hostname of the hosted cluster. Here is an example of the API hostname of the hosted cluster and `{asterisk}.apps` hostname:
 
-.. Confirm that the pull secret is in the same folder as the `kcli` plan, and that the pull secret file is named `openshift_pull.json`.
+** `api.sno-hosted-cluster-1.internal.domain.com`
+** `console-openshift-console.apps.sno-hosted-cluster-1.internal.domain.com`
 
-.. Add the `kcli` plan, which contains the {product-title} definition, in the `mgmt-compact-hub-dual.yaml` file. Ensure that you update the file contents to match your environment:
-+
-[source,yaml]
-----
-plan: hub-dual
-force: true
-version: stable
-tag: "<4.x.y>-x86_64" <1>
-cluster: "hub-dual"
-dualstack: true
-domain: dns.base.domain.name
-api_ip: 192.168.126.10
-ingress_ip: 192.168.126.11
-service_networks:
-- 172.30.0.0/16
-- fd02::/112
-cluster_networks:
-- 10.132.0.0/14
-- fd01::/48
-disconnected_url: registry.dns.base.domain.name:5000
-disconnected_update: true
-disconnected_user: dummy
-disconnected_password: dummy
-disconnected_operators_version: v4.14
-disconnected_operators:
-- name: metallb-operator
-- name: lvms-operator
-  channels:
-  - name: stable-4.14
-disconnected_extra_images:
-- quay.io/user-name/trbsht:latest
-- quay.io/user-name/hypershift:BMSelfManage-v4.14-rc-v3
-- registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10
-dualstack: true
-disk_size: 200
-extra_disks: [200]
-memory: 48000
-numcpus: 16
-ctlplanes: 3
-workers: 0
-manifests: extra-manifests
-metal3: true
-network: dual
-users_dev: developer
-users_devpassword: developer
-users_admin: admin
-users_adminpassword: admin
-metallb_pool: dual-virtual-network
-metallb_ranges:
-- 192.168.126.150-192.168.126.190
-metallb_autoassign: true
-apps:
-- users
-- lvms-operator
-- metallb-operator
-vmrules:
-- hub-bootstrap:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:07
-- hub-ctlplane-0:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:01
-- hub-ctlplane-1:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:02
-- hub-ctlplane-2:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:03
-----
-+
-<1> Replace `<4.x.y>` with the supported {product-title} version you want to use.
-
-. To provision the management cluster, enter the following command:
-+
-[source,terminal]
-----
-$ kcli create cluster openshift --pf mgmt-compact-hub-dual.yaml
-----
+.Procedure
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: lahinson
body: @celebdor @jparrill I updated the procedure to point the user to install MCE and ensure that the HO is deployed. 
created_at: 2025-05-01T15:08:18Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,111 +6,45 @@
 [id="hcp-worker-hc_{context}"]
 = Creating worker nodes for the hosted cluster
 
-If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
+If you are working on a bare metal platform, you must create worker nodes to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster by using a YAML file that describes the Bare Metal Host.
path: modules/hcp-worker-hc.adoc
user: login: lahinson
body: @jparrill @celebdor This procedure mentions a web console and states that you must be logged in as a user with cluster-admin privileges. However, we don't explicitly state where the web console is. Is the web console part of RHCOS?
created_at: 2025-05-01T15:28:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -8,109 +8,42 @@
 
 If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster in the web console using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* Install a {op-system} compute machine on bare-metal infrastructure for use in the cluster.
+* Log in as a user with `cluster-admin` privileges.
+* Create a `Secret` CR for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Copy and paste the below YAML, modifying the relevant fields with the details of your host:
path: modules/hcp-worker-hc.adoc
user: login: lahinson
body: Done
created_at: 2025-05-01T15:33:43Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,111 +6,45 @@
 [id="hcp-worker-hc_{context}"]
 = Creating worker nodes for the hosted cluster
 
-If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
+If you are working on a bare metal platform, you must create worker nodes to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster by using a YAML file that describes the Bare Metal Host.
path: modules/hcp-worker-hc.adoc
user: login: jparrill
body: Should be part of the Openshift deployment already. The web console route should exists in the `openshift-console` namespace as `console`.
created_at: 2025-05-08T16:30:01Z
author_association: NONE
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, complete the following steps.
 
-.Procedure
+.Prerequisites
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: celebdor
body: they are still relevant.
created_at: 2025-05-09T16:21:43Z
author_association: NONE
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
 
-.Procedure
+.Prerequisites
 
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target bare-metal host.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: celebdor
body: Unless one wants to use the Boot It Yourself mode of the Agent provider.
created_at: 2025-05-09T16:22:16Z
author_association: NONE
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
 
-.Procedure
+.Prerequisites
 
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target bare-metal host.
 
-* `-c` specifies the CIDR for the network.
-* `-P dhcp=false` configures the network to disable the DHCP, which is handled by the `dnsmasq` that you configured.
-* `-P dns=false` configures the network to disable the DNS, which is also handled by the `dnsmasq` that you configured.
-* `--domain` sets the domain to search.
-* `dns.base.domain.name` is the DNS base domain name.
-* `dual` is the name of the network that you are creating.
+* The hosted cluster must be able to resolve and reach the API hostname of the management cluster hostname and `{asterisk}.apps` hostname. Here is an example of the API hostname of the management cluster and `{asterisk}.apps` hostname:
 
-. After the network is created, review the following output:
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli list network
-Listing Networks...
-+---------+--------+---------------------+-------+------------------+------+
-| Network |  Type  |         Cidr        |  Dhcp |      Domain      | Mode |
-+---------+--------+---------------------+-------+------------------+------+
-| default | routed |   192.168.122.0/24  |  True |     default      | nat  |
-| ipv4    | routed | 2620:52:0:1306::/64 | False | dns.base.domain.name | nat  |
-| ipv4    | routed |   192.168.125.0/24  | False | dns.base.domain.name | nat  |
-| ipv6    | routed | 2620:52:0:1305::/64 | False | dns.base.domain.name | nat  |
-+---------+--------+---------------------+-------+------------------+------+
-----
+** `api.management-cluster.internal.domain.com`
+** `console-openshift-console.apps.management-cluster.internal.domain.com`
 
-+
-[source,terminal]
-----
-[root@hypershiftbm ~]# kcli info network ipv6
-Providing information about network ipv6...
-cidr: 2620:52:0:1306::/64
-dhcp: false
-domain: dns.base.domain.name
-mode: nat
-plan: kvirt
-type: routed
-----
+* The management cluster must be able to resolve and reach the API and `{asterisk}.apps` hostname of the hosted cluster. Here is an example of the API hostname of the hosted cluster and `{asterisk}.apps` hostname:
 
-. Ensure that the pull secret and `kcli` plan files are in place so that you can deploy the {product-title} management cluster:
+** `api.sno-hosted-cluster-1.internal.domain.com`
+** `console-openshift-console.apps.sno-hosted-cluster-1.internal.domain.com`
 
-.. Confirm that the pull secret is in the same folder as the `kcli` plan, and that the pull secret file is named `openshift_pull.json`.
+.Procedure
 
-.. Add the `kcli` plan, which contains the {product-title} definition, in the `mgmt-compact-hub-dual.yaml` file. Ensure that you update the file contents to match your environment:
-+
-[source,yaml]
-----
-plan: hub-dual
-force: true
-version: stable
-tag: "<4.x.y>-x86_64" <1>
-cluster: "hub-dual"
-dualstack: true
-domain: dns.base.domain.name
-api_ip: 192.168.126.10
-ingress_ip: 192.168.126.11
-service_networks:
-- 172.30.0.0/16
-- fd02::/112
-cluster_networks:
-- 10.132.0.0/14
-- fd01::/48
-disconnected_url: registry.dns.base.domain.name:5000
-disconnected_update: true
-disconnected_user: dummy
-disconnected_password: dummy
-disconnected_operators_version: v4.14
-disconnected_operators:
-- name: metallb-operator
-- name: lvms-operator
-  channels:
-  - name: stable-4.14
-disconnected_extra_images:
-- quay.io/user-name/trbsht:latest
-- quay.io/user-name/hypershift:BMSelfManage-v4.14-rc-v3
-- registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10
-dualstack: true
-disk_size: 200
-extra_disks: [200]
-memory: 48000
-numcpus: 16
-ctlplanes: 3
-workers: 0
-manifests: extra-manifests
-metal3: true
-network: dual
-users_dev: developer
-users_devpassword: developer
-users_admin: admin
-users_adminpassword: admin
-metallb_pool: dual-virtual-network
-metallb_ranges:
-- 192.168.126.150-192.168.126.190
-metallb_autoassign: true
-apps:
-- users
-- lvms-operator
-- metallb-operator
-vmrules:
-- hub-bootstrap:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:07
-- hub-ctlplane-0:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:01
-- hub-ctlplane-1:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:02
-- hub-ctlplane-2:
-    nets:
-    - name: ipv6
-      mac: aa:aa:aa:aa:10:03
-----
-+
-<1> Replace `<4.x.y>` with the supported {product-title} version you want to use.
+. Install {mce-short} 2.2 or later on an {product-title} cluster. You can install {mce-short} as an Operator from the {product-title} OperatorHub. The HyperShift Operator is included with {mce-short}. For more information about installing {mce-short}, see "Installing and upgrading multicluster engine operator" in the Red{nbsp}Hat Advanced Cluster Management documentation.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: celebdor
body: HyperShift for Agent provider was not supported in MCE-2.2 AFAIR. IIRC it started with MCE-2.4
created_at: 2025-05-09T16:23:31Z
author_association: NONE
diff_hunk: @@ -25,58 +25,6 @@ $ sudo dnf install dnsmasq radvd vim golang podman bind-utils \
 $ systemctl enable --now podman
 ----
 
-. To use `kcli` to deploy the management cluster and other virtual components, install and configure the hypervisor by entering the following commands:
path: modules/hcp-dc-hypervisor.adoc
user: login: mgencur
body: I would say removing this is not enough. IMO, the whole section [Configuring the hypervisor for a disconnected installation of hosted control planes](https://github.com/openshift/openshift-docs/pull/90883/files#diff-cd18d890e2e18a172b2f1a15ee8a88971cf20eafb4ef302a58ae3cb64eb6601eR7) should go away because this is all related to virtual machines and later below, this section still includes commands with "kcli", see [this](https://github.com/openshift/openshift-docs/pull/90883/files#diff-cd18d890e2e18a172b2f1a15ee8a88971cf20eafb4ef302a58ae3cb64eb6601eR70)
created_at: 2025-05-26T07:45:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,111 +6,45 @@
 [id="hcp-worker-hc_{context}"]
 = Creating worker nodes for the hosted cluster
path: modules/hcp-worker-hc.adoc
user: login: mgencur
body: There's now a big overlap between [Creating worker nodes for the hosted cluster](https://90883--ocpdocs-pr.netlify.app/openshift-enterprise/latest/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.html#hcp-worker-hc_hcp-deploy-dc-bm) and the following section which was already there: [Creating bare metal hosts for the hosted cluster](https://90883--ocpdocs-pr.netlify.app/openshift-enterprise/latest/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.html#hcp-bm-hosts_hcp-deploy-dc-bm)
The original "Creating worker nodes for the hosted cluster" was preparing Virtual Machines that would be used later in "Creating bare metal hosts for the hosted cluster" where it was creating BareMetalHosts. Now, the "Creating worker nodes ..." section directly creates the BareMetalHosts. (so both sections do the same thing)

IMO, the section "Creating worker nodes ..." is now covered simply by the new prerequisite "You have installed a Red Hat Enterprise Linux CoreOS (RHCOS) compute machine on bare-metal infrastructure for use in the cluster."

So, I think this can be fixed by doing this:
* Remove the whole section "Creating worker nodes ..."
* Move the important prerequisite "You have installed a Red Hat Enterprise Linux CoreOS (RHCOS) compute machine on bare-metal infrastructure for use in the cluster." into the next section "Creating bare metal hosts for the hosted cluster"
* Incorporate the useful additional resource "Provisioning new hosts in a user-provisioned cluster by using the BMO" there as well.
created_at: 2025-05-26T08:51:40Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,111 +6,45 @@
 [id="hcp-worker-hc_{context}"]
 = Creating worker nodes for the hosted cluster
path: modules/hcp-worker-hc.adoc
user: login: lahinson
body: Thanks so much for your review, @mgencur. I'll address your feedback and let you know when the updated PR is ready to review.
created_at: 2025-05-27T13:19:18Z
author_association: CONTRIBUTOR
diff_hunk: @@ -25,58 +25,6 @@ $ sudo dnf install dnsmasq radvd vim golang podman bind-utils \
 $ systemctl enable --now podman
 ----
 
-. To use `kcli` to deploy the management cluster and other virtual components, install and configure the hypervisor by entering the following commands:
path: modules/hcp-dc-hypervisor.adoc
user: login: lahinson
body: I removed the whole section.
created_at: 2025-05-27T17:59:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,116 +1,49 @@
 // Module included in the following assemblies:
 //
-// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
 
 :_mod-docs-content-type: PROCEDURE
 [id="hcp-worker-hc_{context}"]
 = Creating worker nodes for the hosted cluster
 
-If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
+If you are working on a bare metal platform, you must create worker nodes to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster by using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* You have installed a {op-system-first} compute machine on bare-metal infrastructure for use in the cluster.
+* You are logged in as a user with `cluster-admin` privileges.
+* You have created a `Secret` custom resource (CR) for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Enter the details of your host. For more information about what to enter, see "Provisioning new hosts in a user-provisioned cluster by using the BMO".
 +
-[source,terminal]
+.Example YAML source with host details
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
path: modules/hcp-worker-hc.adoc
user: login: mgencur
body: I don't fully understand how docs are composed from individual files/modules. Still seeing this change here but don't see it in the preview. Do you want to keep the changes even if they're not used? Thanks

Otherwise this PR looks good to me.
created_at: 2025-05-28T10:02:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,116 +1,49 @@
 // Module included in the following assemblies:
 //
-// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
 
 :_mod-docs-content-type: PROCEDURE
 [id="hcp-worker-hc_{context}"]
 = Creating worker nodes for the hosted cluster
 
-If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
+If you are working on a bare metal platform, you must create worker nodes to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster by using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* You have installed a {op-system-first} compute machine on bare-metal infrastructure for use in the cluster.
+* You are logged in as a user with `cluster-admin` privileges.
+* You have created a `Secret` custom resource (CR) for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Enter the details of your host. For more information about what to enter, see "Provisioning new hosts in a user-provisioned cluster by using the BMO".
 +
-[source,terminal]
+.Example YAML source with host details
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
path: modules/hcp-worker-hc.adoc
user: login: lahinson
body: Good point. I don't think that module is used elsewhere in the docs, so I'll remove the file.
created_at: 2025-05-28T14:27:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: GroceryBoyJr
body: ```suggestion
To set up an {product-title} management cluster, you need to ensure that the {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
```
created_at: 2025-05-28T21:35:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
 
-.Procedure
+.Prerequisites
 
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target Bare Metal Host (BMH). As an alternative, you follow a Boot It Yourself approach through the Agent provider.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: GroceryBoyJr
body: ```suggestion
* There must be bidirectional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target Bare Metal Host (BMH). As an alternative, you follow a Boot It Yourself approach through the Agent provider.
```
created_at: 2025-05-28T22:05:33Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
 
-.Procedure
+.Prerequisites
 
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target Bare Metal Host (BMH). As an alternative, you follow a Boot It Yourself approach through the Agent provider.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: GroceryBoyJr
body: Per dictionaries. Example: https://www.collinsdictionary.com/us/dictionary/english/bidirectional#:~:text=Definition%20of%20'bidirectional'&text=A%20bidirectional%20device%20accommodates%20signals,%2C%20by%20operational%20requirements%2C%20bidirectional.

created_at: 2025-05-28T22:05:51Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,116 +1,49 @@
 // Module included in the following assemblies:
 //
-// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
 
 :_mod-docs-content-type: PROCEDURE
 [id="hcp-worker-hc_{context}"]
 = Creating worker nodes for the hosted cluster
 
-If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured.
+If you are working on a bare metal platform, you must create worker nodes to ensure that the details in the `BareMetalHost` are correctly configured.
 
-If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool.
+You can add Bare Metal Hosts to the cluster by using a YAML file that describes the Bare Metal Host.
 
-.Procedure
-
-. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command:
-+
-[source,terminal]
-----
-$ kcli delete plan <hosted_cluster_name> <1>
-----
-+
-<1> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Prerequisites
 
-.. When you are prompted to confirm whether you want to delete the plan, type `y`.
-
-.. Confirm that you see a message stating that the plan was deleted.
-
-. Create the virtual machines by entering the following commands:
-
-.. Enter the following command to create the first virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \
-  -P name=<hosted_cluster_name>-worker0 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+* You have installed a {op-system-first} compute machine on bare-metal infrastructure for use in the cluster.
+* You are logged in as a user with `cluster-admin` privileges.
+* You have created a `Secret` custom resource (CR) for the Bare Metal Host.
 
-.. Enter the following command to create the second virtual machine:
-+
-[source,terminal]
-----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4> 
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 
-  -P name=<hosted_cluster_name>-worker1 // <7>
-----
-+
-<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation.
-<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations.
-<3> Replace `<hosted_cluster_name>` with the name of your hosted cluster. The `plan=<hosted_cluster_name>` statement indicates the plan name, which identifies a group of machines as a cluster.
-<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU.
-<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM.
-<6> Include `nets=[{"name": "<network>", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface.
-<7> Replace `<hosted_cluster_name>` with the name of your hosted cluster.
+.Procedure
 
-.. Enter the following command to create the third virtual machine:
+. In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
+. Select *Add Host* -> *New from YAML*.
+. Enter the details of your host. For more information about what to enter, see "Provisioning new hosts in a user-provisioned cluster by using the BMO".
 +
-[source,terminal]
+.Example YAML source with host details
+[source,yaml]
 ----
-$ kcli create vm \
-  -P start=False \// <1>
-  -P uefi_legacy=true \// <2>
-  -P plan=<hosted_cluster_name> \// <3>
-  -P memory=8192 -P numcpus=16 \// <4>
-  -P disks=[200,200] \// <5>
-  -P nets=["{\"name\": \"<network>\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6>
-  -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103
-  -P name=<hosted_cluster_name>-worker2 // <7>
+apiVersion: metal3.io/v1alpha1
+kind: BareMetalHost
path: modules/hcp-worker-hc.adoc
user: login: mgencur
body: /lgtm
created_at: 2025-05-29T05:15:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: lahinson
body: good catch!
created_at: 2025-05-29T14:23:58Z
author_association: CONTRIBUTOR
diff_hunk: @@ -6,143 +6,28 @@
 [id="hcp-dc-mgmt-cluster_{context}"]
 = Setting up a management cluster for {hcp} in a disconnected environment
 
-To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool.
+To set up an {product-title} management cluster, you need to ensure that {mce} is installed. The {mce-short} plays a crucial role in deploying clusters across providers.
 
-.Procedure
+.Prerequisites
 
-. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command:
-+
-[source,terminal]
-----
-$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false \
-  -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual
-----
-+
-where:
+* There must be bi-directional connectivity between the management cluster and the Baseboard Management Controller (BMC) of the target Bare Metal Host (BMH). As an alternative, you follow a Boot It Yourself approach through the Agent provider.
path: modules/hcp-dc-mgmt-cluster.adoc
user: login: lahinson
body: fixed
created_at: 2025-05-29T14:24:55Z
author_association: CONTRIBUTOR

PR comments:
user: login: ocpdocs-previewbot
created_at: 2025-03-21T15:23:01Z
body: 🤖 Thu May 29 14:42:44 - Prow CI generated the docs preview:

https://90883--ocpdocs-pr.netlify.app/
https://90883--ocpdocs-pr.netlify.app/openshift-enterprise/latest/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.html
https://90883--ocpdocs-pr.netlify.app/openshift-enterprise/latest/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.html
author_association: NONE
user: login: lahinson
created_at: 2025-03-21T20:06:05Z
body: /retest
author_association: CONTRIBUTOR
user: login: lahinson
created_at: 2025-04-14T15:33:43Z
body: @jparrill When you have some time, PTAL at this PR. Thank you!
author_association: CONTRIBUTOR
user: login: lahinson
created_at: 2025-04-15T17:20:52Z
body: /retest
author_association: CONTRIBUTOR
user: login: lahinson
created_at: 2025-05-20T14:00:18Z
body: @jparrill Did you have any other suggested changes for this one?
author_association: CONTRIBUTOR
user: login: mgencur
created_at: 2025-05-26T08:20:53Z
body: /hold

Currently reviewing this and I have some  suggestions, will submit my review soon.
author_association: CONTRIBUTOR
user: login: mgencur
created_at: 2025-05-26T08:53:28Z
body: /unhold

Hopefully, my suggestions are addressed. Thanks!
author_association: CONTRIBUTOR
user: login: GroceryBoyJr
created_at: 2025-05-28T19:19:22Z
body: /label peer-review-in-progress
/remove-label peer-review-needed
/assign GroceryBoyJr
author_association: CONTRIBUTOR
user: login: GroceryBoyJr
created_at: 2025-05-28T22:21:43Z
body: /label peer-review-done
/remove-label peer-review-in-progress
/unassign GroceryBoyJr
author_association: CONTRIBUTOR
user: login: openshift-ci[bot]
created_at: 2025-05-29T14:29:29Z
body: New changes are detected. LGTM label has been removed.
author_association: NONE
user: login: openshift-ci[bot]
created_at: 2025-05-29T14:44:46Z
body: @lahinson: all tests **passed!**


[Full PR test history](https://prow.ci.openshift.org/pr-history?org=openshift&repo=openshift-docs&pr=90883). [Your PR dashboard](https://prow.ci.openshift.org/pr?query=is:pr+state:open+author:lahinson).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
author_association: NONE
user: login: lahinson
created_at: 2025-05-29T14:50:26Z
body: /cherrypick enterprise-4.17
author_association: CONTRIBUTOR
user: login: lahinson
created_at: 2025-05-29T14:50:33Z
body: /cherrypick enterprise-4.18
author_association: CONTRIBUTOR
user: login: lahinson
created_at: 2025-05-29T14:50:39Z
body: /cherrypick enterprise-4.19
author_association: CONTRIBUTOR
user: login: openshift-cherrypick-robot
created_at: 2025-05-29T14:51:11Z
body: @lahinson: #90883 failed to apply on top of branch "enterprise-4.17":
```
Applying: Replacing mentions of kcli from the HCP docs
Using index info to reconstruct a base tree...
M	hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
M	hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc
M	modules/hcp-dc-image-mirror.adoc
Falling back to patching base and 3-way merge...
Removing modules/hcp-worker-hc.adoc
Auto-merging modules/hcp-dc-image-mirror.adoc
CONFLICT (content): Merge conflict in modules/hcp-dc-image-mirror.adoc
Removing modules/hcp-dc-hypervisor.adoc
Auto-merging hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc
CONFLICT (content): Merge conflict in hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc
Auto-merging hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
CONFLICT (content): Merge conflict in hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Patch failed at 0001 Replacing mentions of kcli from the HCP docs

```

<details>

In response to [this](https://github.com/openshift/openshift-docs/pull/90883#issuecomment-2919646902):

>/cherrypick enterprise-4.17


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
</details>
author_association: NONE
user: login: openshift-cherrypick-robot
created_at: 2025-05-29T14:51:19Z
body: @lahinson: new pull request created: #93922

<details>

In response to [this](https://github.com/openshift/openshift-docs/pull/90883#issuecomment-2919647331):

>/cherrypick enterprise-4.18


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
</details>
author_association: NONE
user: login: openshift-cherrypick-robot
created_at: 2025-05-29T14:51:26Z
body: @lahinson: new pull request created: #93923

<details>

In response to [this](https://github.com/openshift/openshift-docs/pull/90883#issuecomment-2919647612):

>/cherrypick enterprise-4.19


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
</details>
author_association: NONE