Redfish Device Enablement (RDE) support
NOTES
It is possible that some properties or resources described in this section are not implemented in HPE iLO 4 and iLO 5.
HPE iLO implements the Platform Level Data Model for Redfish Device Enablement (PLDM for RDE) DMTF standard. In this section the term RDE is a shortcut for PLDM for RDE. The term RDE capable device refers to a physical device (i.e. storage controller) implementing PLDM for RDE.
RDE enables management controllers (i.e. iLO) to present a Redfish-conformant data model, without the need of embedding specific code related to the vendor, family or model device. When PLDM for RDE is implemented in both the management controller and the device, the former acts as a request forwarder (pass-through) between the Redfish client and the device.
TIP
As GET
responses from RDE capable devices come from the device, they
don't contain any HPE Oem/Hpe
section. However, they may contain OEM
sections specific to the device maker (Oem/DeviceMaker
).
Refer to this paragraph for the Redfish URIs enabled by iLO for RDE capable devices.
In the detail, RDE capable management controllers and devices may use the
Management Component Transfer Protocol
(MCTP) to exchange Redfish encoded messages. By default, HPE iLO enables
MCTP globally as well as on all possible device slots. Refer to the
iLO user guide
for managing MCTP from the GUI
(System Information
--> Device Inventory
--> Discovery
).
Warning
When MCTP is globally disabled or if a device slot (PCIe, M.2, OCP...) is MCTP disabled, RDE capable devices may not be accessible via Redfish anymore.
NOTE
It is not possible to enable MCTP on a specific device slot. A global MCTP factory reset is required. This action enables MCTP globally and on all device slots. Refer to the examples below to manage the MCTP with Redfish.
MCTP management with Redfish
For troubleshooting or other reasons, you may want to disable or factory reset the MCTP.
Retrieve MCTP status
The following example retrieves the MCTP global status and the status of slot 5.
GET /redfish/v1/Chassis/1/?$select=Oem/Hpe/MCTPEnabledOnServer
GET /redfish/v1/Chassis/1/devices/5/?$select=MCTPProtocolDisabled
Disable the MCTP globally
POST /redfish/v1/Chassis/1/Actions/Oem/Hpe/HpeServerChassis.DisableMCTPOnServer/
{}
{
"error": {
"code": "iLO.0.10.ExtendedInfo",
"message": "See @Message.ExtendedInfo for more information.",
"@Message.ExtendedInfo": [
{
"MessageId": "Base.1.12.Success"
}
]
}
}
Disable the MCTP on a specific slot
PATCH: /redfish/v1/Chassis/{{ChassisId}}/devices/{{slotId}}/
{
"MCTPProtocolDisabled": true
}
{
"error": {
"code": "iLO.0.10.ExtendedInfo",
"message": "See @Message.ExtendedInfo for more information.",
"@Message.ExtendedInfo": [
{
"MessageId": "Base.1.12.Success"
}
]
}
}
MCTP factory reset
In order to globally re-enable the MCTP and all the specific slots, a MCTP factory reset is required.
POST /redfish/v1/Chassis/1/Actions/Oem/Hpe/HpeServerChassis.FactoryResetMCTP
{}
{
"error": {
"code": "iLO.0.10.ExtendedInfo",
"message": "See @Message.ExtendedInfo for more information.",
"@Message.ExtendedInfo": [
{
"MessageId": "Base.1.12.Success"
}
]
}
}
TIP
If an MCTP factory reset returns an error (i.e. ActionNotSupported
)
and, the System Information
--> Device Inventory
--> Recovery
button in the iLO graphical user interface is greyed out, it is possible
to recover with an
Auxiliary Power Cycle
(efuse) action.
iLO RDE URIs and corresponding HTTP methods
The following table lists the Redfish URIs enabled by iLO for RDE capable
devices. Cells contain the list of iLO generations supporting operations,
or a dash character ("-") if the operation is not applicable or not
supported. Refer to the
iLO 5 changelog
file and look for string RDE support changes
to get the first
firmware version implementing RDE operations. iLO 6 implements all
mentioned operations since version 1.05.
NOTE
-
iLO returns
400 Bad Request
when RDE devices take a long time to process and respond toPOST
requests. -
Enabled operations by iLO listed in the following table does not imply
that all RDE capable devices supports those operations as well.
For example, if RDE capable storage devices supports storage volumes
then iLO supports
POST
andDELETE
operations.
URI | GET | HEAD | PATCH | POST | DELETE |
---|---|---|---|---|---|
/redfish/v1/Systems/{@systemsId}/NetworkInterfaces |
5, 6 | - | - | - | - |
/redfish/v1/Systems/{@systemsId}/NetworkInterfaces/{@nicId} |
5, 6 | 5, 6 | - | - | - |
/redfish/v1/Systems/{@systemId}/EthernetInterfaces |
5, 6 | - | - | - | - |
/redfish/v1/Systems/{@systemId}/EthernetInterfaces/{@nicId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | - |
/redfish/v1/Chassis/{@chassisId}/PCIeDevices |
5, 6 | - | - | - | - |
/redfish/v1/Chassis/{@chassisId}/PCIeDevices/{@PCIeDeviceId} |
5, 6 | 5, 6 | - | - | - |
/redfish/v1/Chassis/{@chassisId}/PCIeDevices/{@PCIeDeviceId}/PCIeFunctions |
5, 6 | - | - | - | - |
/redfish/v1/Chassis/{@chassisId}/PCIeDevices/{@PCIeDeviceId}/PCIeFunctions/{@PCIeFunctionId} |
5, 6 | 5, 6 | - | - | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters |
5, 6 | - | - | - | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkPorts |
5, 6 | - | - | - | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkPorts/{@portId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/Ports |
5, 6 | - | - | - | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/Ports/{@portId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkDeviceFunctions |
5, 6 | - | - | - | - |
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkDeviceFunctions/{@pfId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | - |
/redfish/v1/Systems/{@systemId}/Storage |
5, 6 | - | - | - | - |
/redfish/v1/Systems/{@systemId}/Storage/{@storageId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | - |
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Drives/{@driveId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | - |
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Controllers/ |
5, 6 | - | - | - | - |
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Controllers/{@controllerId} |
5, 6 | 5, 6 | 5, 6 | - | - |
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Controllers/{@ControllerId}/Ports/{@portId} |
5, 6 | 5, 6 | 5, 6 | - | - |
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Volumes |
5, 6 | - | - | 5, 6 | - |
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Volumes/{@volumeId} |
5, 6 | 5, 6 | 5, 6 | 5, 6 | 5, 6 |
RDE capable device schema file locations
Redfish responses from RDE enabled devices depend on the schema versions
that are supported by each device. They may vary across device vendors,
families and models. The schema files describing RDE capable devices are
not stored in iLO and usually not in the device. However, their location
is in the Link
response header property of HEAD requests.
These schema files can be obtained using iLOrest tool.
Controller schema file location of an RDE capable storage controller
ilorest rawhead /redfish/v1/Systems/1/Storage/DE07C000 2>/dev/null | jq '.Link'
https://redfish.dmtf.org/schemas/Storage.v1_13_0.json
Volume schema file location of an RDE capable logical volumes
ilorest rawhead /redfish/v1/Systems/1/Storage/DE07C000/Volumes 2>/dev/null | jq -r '.Link'
https://redfish.dmtf.org/schemas/VolumeCollection.json
Network port schema file location of an RDE capable network adapter
ilorest rawhead /redfish/v1/Chassis/1/NetworkAdapters/DE080000/NetworkPorts 2>/dev/null | jq '.Link'
http://redfish.dmtf.org/schemas/v1/NetworkPortCollection.json
For more detail concerning PLDM for RDE, refer to the DMTF RDE specification.