Skip to content

[OSDOCS-15316]: Creating a hosted cluster on bare metal #96275

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

lahinson
Copy link
Contributor

@lahinson lahinson commented Jul 17, 2025

@openshift-ci openshift-ci bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jul 17, 2025
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch from a51c7f8 to 0c0d363 Compare July 17, 2025 17:00
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch 2 times, most recently from 09a5173 to 4b08e25 Compare July 17, 2025 17:23
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch 3 times, most recently from 73ffe57 to daa7c37 Compare July 17, 2025 19:39
@openshift-ci openshift-ci bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 17, 2025
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch from daa7c37 to e5561df Compare July 17, 2025 19:57
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch 6 times, most recently from aba8843 to 30573c3 Compare July 18, 2025 15:49
@@ -20,6 +20,8 @@ As you create a hosted cluster, keep the following guidelines in mind:

- The most common service publishing strategy is to expose services through a load balancer. That strategy is the preferred method for exposing the Kubernetes API server. If you create a hosted cluster by using the web console or by using {rh-rhacm-title}, to set a publishing strategy for a service besides the Kubernetes API server, you must manually specify the `servicePublishingStrategy` information in the `HostedCluster` custom resource.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We suggest to use a load balancer but by default with the hcp create agent command the bare metal hosted clusters are created with node port: we should indicate this here. We also should explain how to change the servicePublishingStrategy in the section to create bare metal hosted clusters as otherwise we leave this for the user to research with not even references to where. @jparrill ptal

Copy link
Contributor Author

@lahinson lahinson Jul 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the wording here, but I still need help to describe what users should do to change the servicePublishingStrategy. I've asked Juan for the details.

Copy link

@racedo racedo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add information about changing publishing strategy to recommended one for bare metal (load balancer) and explain it's not the default one

<9> Specify the availability policy for the hosted control plane components. Supported options are `SingleReplica` and `HighlyAvailable`. The default value is `HighlyAvailable`.
<10> Specify the supported {product-title} version that you want to use, for example, `4.19.0-multi`. If you are using a disconnected environment, replace `<ocp_release_image>` with the digest image. To extract the {product-title} release image digest, see _Extracting the {product-title} release image digest_.
<10> Specify the supported {product-title} version that you want to use, for example, `4.19.0-multi`. If you are using a disconnected environment, replace `<ocp_release_image>` with the digest image. To extract the {product-title} release image digest, see "Extracting the {product-title} release image digest".
<11> Specify the node pool replica count, for example, `3`. You must specify the replica count as `0` or greater to create the same number of replicas. Otherwise, no node pools are created.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't explain that in order to be able to add nodes to this cluster we must have previously added nodes to an InfraEnv (via web ui for example) and we don't explain how to do this. This leaves the user with a workflow that will always fail to complete as at this point the user hasn't been told how to add nodes to the inventory first.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a new procedure before this procedure about adding bare-metal nodes to a hardware inventory.

@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch from cc2d20e to 549af30 Compare July 22, 2025 16:01
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch from 549af30 to e15611b Compare July 22, 2025 18:17
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch 4 times, most recently from 531204b to 1104fb6 Compare July 22, 2025 21:01
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch 4 times, most recently from 007db9a to d7dd5ba Compare July 23, 2025 17:05
-n <namespace_example> get infraenv hosted
----

. Create `BareMetalHost` objects by adding the following content to a YAML file:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two options to get the hosts added:

  1. BMHs, as described here, which the booting and adding to the InfraEnv are 100% automated by the bare metal operator (metal3).
  2. Obtain the discovery ISO from the InfraEnv and boot the hosts manually, which is also supported and sometimes the only way (hosts that don't work with Redfish, hosts that don't have their BMCs configured, environments where the BMC network access is restricted, and other reasons).

We should document 2 along with this method for clarity.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@racedo Would it be accurate to distinguish between the two methods by dividing this step like this?
"If you use the Metal3 Operator, create the BMHs as follows..." and "If you do not use the Metal3 Operator, obtain the discovery ISO from the InfraEnv and boot the hosts manually, as follows..."

Copy link

@racedo racedo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add comment to explain booting hosts from discovery ISO.


:_mod-docs-content-type: PROCEDURE
[id="hcp-bm-add-nodes-to-inventory_{context}"]
= Adding bare-metal nodes to a hardware inventory
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The creation of the InfraEnv can also be done from the Console. There's a section below about using the console vs here doing it with the CLI. Could we explain how to do it from the console too? It's a fairly simple process worth mentioning for users to choose their preferred option.

Copy link

@racedo racedo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Request to add content for adding InfraEnv via UI.

@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch 3 times, most recently from 7ca992f to cb1ef15 Compare July 25, 2025 16:32
@lahinson lahinson force-pushed the osdocs-15316-hcp-bm-improvements branch from cb1ef15 to 9ca2c35 Compare July 25, 2025 16:49
Copy link

openshift-ci bot commented Jul 25, 2025

@lahinson: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

:_mod-docs-content-type: PROCEDURE
[id="hcp-bm-add-nodes-to-inventory_{context}"]
= Creating an infrastructure environment and adding nodes

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I based this file on information that I found in the following lab exercise: https://labs.sysdeseng.com/hypershift-baremetal-lab/4.18/adding-bm-to-hw-inventory.html

If any of the information in this file should change, please let me know.


** If you do not use the Metal3 Operator, obtain the discovery ISO from the `InfraEnv` resource and boot the hosts manually by completing the following steps:

.. Download the live ISO.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to tell users where they should go to download the ISO?

-p '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-0.example.krnl.es"}}' \
--type merge
----
+
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should any of the values on line 125 be changed to example values?

86f7ac75-4fc4-4b36-8130-40fa12602218 auto-assign
e57a637f-745b-496e-971d-1abbf03341ba auto-assign
----
+
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should any of the values on line 117 be changed to example values?


. Click **Infrastructure -> Host inventory -> Create infrastructure environment**.

. After you create the infrastructure environment, add bare-metal hosts from within the InfraEnv view by clicking **Add hosts -> With BMC**.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would appreciate it if someone could verify that the user-interface elements that we're mentioning here actually match the UI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants