Skip to content

Commit 5c37830

Browse files
authored
Merge pull request #77380 from johnwilkins/TELCODOCS-187.2
HCIDOCS-187: Document procedure for changing BMC address after installation
2 parents 85e2a7c + a8fb24d commit 5c37830

File tree

5 files changed

+142
-58
lines changed

5 files changed

+142
-58
lines changed

installing/installing_bare_metal_ipi/ipi-install-installation-workflow.adoc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ include::modules/ipi-install-additional-install-config-parameters.adoc[leveloffs
5959
// BMC addressing
6060
include::modules/ipi-install-bmc-addressing.adoc[leveloffset=+2]
6161

62+
[role="_additional-resources"]
63+
.Additional resources
64+
65+
* xref:../../post_installation_configuration/bare-metal-configuration.adoc#editing-a-baremetalhost-resource_post-install-bare-metal-configuration[Editing a BareMetalHost resource]
66+
67+
// Verifying support for the Redfish API
68+
include::modules/ipi-install-verifying-support-for-redfish-apis.adoc[leveloffset=+2]
69+
6270
// BMC addressing for Dell iDRAC
6371
include::modules/ipi-install-bmc-addressing-for-dell-idrac.adoc[leveloffset=+2]
6472

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// This module is included in the following assemblies:
2+
//
3+
// post_installation_configuration/bare-metal-configuration.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="editing-a-baremetalhost-resource_{context}"]
7+
= Editing a BareMetalHost resource
8+
9+
After you deploy an {product-title} cluster on bare metal, you might need to edit a node's `BareMetalHost` resource. Consider the following examples:
10+
11+
* You deploy a cluster with the {ai-full} and need to add or edit the baseboard management controller (BMC) host name or IP address.
12+
* You want to move a node from one cluster to another without deprovisioning it.
13+
14+
.Prerequisites
15+
16+
* Ensure the node is in the `Provisioned`, `ExternallyProvisioned`, or `Available` state.
17+
18+
.Procedure
19+
20+
. Get the list of nodes:
21+
+
22+
[source,terminal,subs="+quotes"]
23+
----
24+
$ oc get bmh -n openshift-machine-api
25+
----
26+
27+
. Before editing the node's `BareMetalHost` resource, detach the node from Ironic by running the following command:
28+
+
29+
[source,terminal,subs="+quotes"]
30+
----
31+
$ oc annotate baremetalhost <node_name> -n openshift-machine-api 'baremetalhost.metal3.io/detached=true' <1>
32+
----
33+
<1> Replace `<node_name>` with the name of the node.
34+
35+
. Edit the `BareMetalHost` resource by running the following command:
36+
+
37+
[source,terminal,subs="+quotes"]
38+
----
39+
$ oc edit bmh <node_name> -n openshift-machine-api
40+
----
41+
42+
. Reattach the node to Ironic by running the following command:
43+
+
44+
[source,terminal,subs="+quotes"]
45+
----
46+
$ oc annotate baremetalhost <node_name> -n openshift-machine-api 'baremetalhost.metal3.io/detached'-
47+
----

modules/ipi-install-bmc-addressing.adoc

Lines changed: 2 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
Most vendors support Baseboard Management Controller (BMC) addressing with the Intelligent Platform Management Interface (IPMI). IPMI does not encrypt communications. It is suitable for use within a data center over a secured or dedicated management network. Check with your vendor to see if they support Redfish network boot. Redfish delivers simple and secure management for converged, hybrid IT and the Software Defined Data Center (SDDC). Redfish is human readable and machine capable, and leverages common internet and web services standards to expose information directly to the modern tool chain. If your hardware does not support Redfish network boot, use IPMI.
1010

11+
You can modify the BMC address during installation while the node is in the `Registering` state. If you need to modify the BMC address after the node leaves the `Registering` state, you must disconnect the node from Ironic, edit the `BareMetalHost` resource, and reconnect the node to Ironic. See the _Editing a BareMetalHost resource_ section for details.
12+
1113
[discrete]
1214
== IPMI
1315

@@ -64,62 +66,4 @@ platform:
6466
password: <password>
6567
disableCertificateVerification: True
6668
----
67-
[discrete]
68-
== Redfish APIs
69-
70-
Several redfish API endpoints are called onto your BCM when using the bare-metal installer-provisioned infrastructure.
71-
72-
[IMPORTANT]
73-
====
74-
You need to ensure that your BMC supports all of the redfish APIs before installation.
75-
====
7669

77-
List of redfish APIs::
78-
* Power on
79-
+
80-
[source,terminal]
81-
----
82-
curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "On"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Reset
83-
----
84-
* Power off
85-
+
86-
[source,terminal]
87-
----
88-
curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "ForceOff"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Reset
89-
----
90-
* Temporary boot using `pxe`
91-
+
92-
[source,terminal]
93-
----
94-
curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "pxe", "BootSourceOverrideEnabled": "Once"}}
95-
----
96-
* Set BIOS boot mode using `Legacy` or `UEFI`
97-
+
98-
[source,terminal]
99-
----
100-
curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideMode":"UEFI"}}
101-
----
102-
103-
List of redfish-virtualmedia APIs::
104-
* Set temporary boot device using `cd` or `dvd`
105-
+
106-
[source,terminal]
107-
----
108-
curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "cd", "BootSourceOverrideEnabled": "Once"}}'
109-
----
110-
* Mount virtual media
111-
+
112-
[source,terminal]
113-
----
114-
curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: *" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'
115-
----
116-
117-
[NOTE]
118-
====
119-
The `PowerOn` and `PowerOff` commands for redfish APIs are the same for the redfish-virtualmedia APIs.
120-
====
121-
122-
[IMPORTANT]
123-
====
124-
`HTTPS` and `HTTP` are the only supported parameter types for `TransferProtocolTypes`.
125-
====
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// This is included in the following assemblies:
2+
//
3+
// installing/installing_bare_metal_ipi/ipi-install-configuration-files.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id='verifying-support-for-redfish-apis_{context}']
7+
8+
= Verifying support for Redfish APIs
9+
10+
When installing using the Redfish API, the installation program calls several Redfish endpoints on the baseboard management controller (BMC) when using installer-provisioned infrastructure on bare metal. If you use Redfish, ensure that your BMC supports all of the Redfish APIs before installation.
11+
12+
.Procedure
13+
14+
. Set the IP address or hostname of the BMC by running the following command:
15+
+
16+
[source,terminal]
17+
----
18+
$ export SERVER=<ip_address> <1>
19+
----
20+
<1> Replace `<ip_address>` with the IP address or hostname of the BMC.
21+
22+
. Set the ID of the system by running the following command:
23+
+
24+
[source,terminal]
25+
----
26+
$ export SystemID=<system_id> <1>
27+
----
28+
<1> Replace `<system_id>` with the system ID. For example, `System.Embedded.1` or `1`. See the following vendor-specific BMC sections for details.
29+
30+
.List of Redfish APIs:
31+
32+
. Check `power on` support by running the following command:
33+
+
34+
[source,terminal]
35+
----
36+
$ curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "On"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Reset
37+
----
38+
39+
. Check `power off` support by running the following command:
40+
+
41+
[source,terminal]
42+
----
43+
$ curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "ForceOff"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Reset
44+
----
45+
46+
. Check the temporary boot implementation that uses `pxe` by running the following command:
47+
+
48+
[source,terminal]
49+
----
50+
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "pxe", "BootSourceOverrideEnabled": "Once"}}
51+
----
52+
53+
. Check the status of setting the BIOS boot mode that uses `Legacy` or `UEFI` by running the following command:
54+
+
55+
[source,terminal]
56+
----
57+
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideMode":"UEFI"}}
58+
----
59+
60+
.List of Redfish virtual media APIs:
61+
62+
. Check the ability to set the temporary boot device that uses `cd` or `dvd` by running the following command:
63+
+
64+
[source,terminal]
65+
----
66+
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "cd", "BootSourceOverrideEnabled": "Once"}}'
67+
----
68+
69+
. Check the ability to mount virtual media by running the following command:
70+
+
71+
[source,terminal]
72+
----
73+
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: *" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'
74+
----
75+
76+
[NOTE]
77+
====
78+
The `PowerOn` and `PowerOff` commands for Redfish APIs are the same for the Redfish virtual media APIs.
79+
====
80+
81+
[IMPORTANT]
82+
====
83+
`HTTPS` and `HTTP` are the only supported parameter types for `TransferProtocolTypes`.
84+
====

post_installation_configuration/bare-metal-configuration.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ include::modules/bmo-about-the-bare-metal-operator.adoc[leveloffset=+1]
1212
include::modules/con_bmo-bare-metal-operator-architecture.adoc[leveloffset=+2]
1313
include::modules/bmo-about-the-baremetalhost-resource.adoc[leveloffset=+1]
1414
include::modules/bmo-getting-the-baremetalhost-resource.adoc[leveloffset=+1]
15+
include::modules/bmo-editing-a-baremetalhost-resource.adoc[leveloffset=+1]
1516

1617
include::modules/bmo-about-the-hostfirmwaresettings-resource.adoc[leveloffset=+1]
1718
include::modules/bmo-getting-the-hostfirmwaresettings-resource.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)