1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/ipi-install-verifying-support-for-redfish-apis.adoc
2025-01-28 14:47:48 +00:00

90 lines
3.8 KiB
Plaintext

// This is included in the following assemblies:
//
// installing/installing_bare_metal/ipi/ipi-install-configuration-files.adoc
:_mod-docs-content-type: PROCEDURE
[id='verifying-support-for-redfish-apis_{context}']
= Verifying support for Redfish APIs
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.
.Procedure
. Set the IP address or hostname of the BMC by running the following command:
+
[source,terminal]
----
$ export SERVER=<ip_address> <1>
----
<1> Replace `<ip_address>` with the IP address or hostname of the BMC.
. Set the ID of the system by running the following command:
+
[source,terminal]
----
$ export SystemID=<system_id> <1>
----
<1> Replace `<system_id>` with the system ID. For example, `System.Embedded.1` or `1`. See the following vendor-specific BMC sections for details.
.List of Redfish APIs
. Check `power on` support by running the following command:
+
[source,terminal]
----
$ 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
----
. Check `power off` support by running the following command:
+
[source,terminal]
----
$ 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
----
. Check the temporary boot implementation that uses `pxe` by running the following command:
+
[source,terminal]
----
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "pxe", "BootSourceOverrideEnabled": "Once"}}
----
. Check the status of setting the firmware boot mode that uses `Legacy` or `UEFI` by running the following command:
+
[source,terminal]
----
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideMode":"UEFI"}}
----
.List of Redfish virtual media APIs
. Check the ability to set the temporary boot device that uses `cd` or `dvd` by running the following command:
+
[source,terminal]
----
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "cd", "BootSourceOverrideEnabled": "Once"}}'
----
. Virtual media might use `POST` or `PATCH`, depending on your hardware. Check the ability to mount virtual media by running one of the following commands:
+
[source,terminal]
----
$ curl -u $USER:$PASS -X POST -H "Content-Type: application/json" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'
----
+
[source,terminal]
----
$ curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: <ETAG>" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'
----
[NOTE]
====
The `PowerOn` and `PowerOff` commands for Redfish APIs are the same for the Redfish virtual media APIs. In some hardware, you might only find the `VirtualMedia` resource under `Systems/$SystemID` instead of `Managers/$ManagerID`. For the `VirtualMedia` resource, the `UserName` and `Password` fields are optional.
====
[IMPORTANT]
====
`HTTPS` and `HTTP` are the only supported parameter types for `TransferProtocolTypes`.
====