Description of problem:
ZTP deployment failure
Server: Dell GRNRD
iDRAC IP: 192.168.224.190
iDRAC Firmware Version: 1.30.10.50
OpenShift Version: 4.21.0
Deployment Method: ZTP via ACM/Assisted Installer
Version-Release number of selected component (if applicable):
4.21
How reproducible:
Every time SNO deploy using ZTP
Steps to Reproduce:{
1. Dell gnrd Perla with latest IDRAC version : 1.30.10.50
2. using ZTP deploy SNO
3.The Malformed Redfish Attribute Error
Node 8c798425-3ae4-463d-a4cd-539c1611924d failed verify step clear_job_queue with unexpected error:
The attribute MemorySummary/TotalSystemMemoryGiB is malformed in the resource /redfish/v1/Systems/System.Embedded.1:
invalid literal for int() with base 10: '256 GB'
Actual results:
Root Cause: iDRAC firmware returns "256 GB" (string with unit) instead of 256 (integer) for TotalSystemMemoryGiB
Expected results:
virtual media mount successful iso
Additional info:
Error Message (with idrac-redfish-virtualmedia://):
The Value is not valid BMC address, supported protocols are redfish-virtualmedia or idrac-virtualmedia.
When Ironic's idrac driver parses this response, it attempts to convert TotalSystemMemoryGiB to an integer:
- Ironic code
memory_gib = int(system_data['MemorySummary']['TotalSystemMemoryGiB']) - Raises: ValueError: invalid literal for int() with base 10: '256 GB'
curl -k -s -u user:passowrd \
> https://192.168.224.190/redfish/v1/Systems/System.Embedded.1 | jq '.MemorySummary'
{
"Status":
,
"Status@Redfish.Deprecated": "Please migrate to use Status in the individual Memory resources",
"TotalSystemMemoryGiB": 256,
"MemoryMirroring": "System"
}
Impact on Ironic/Metal3
- Ironic sushy library code (simplified)
memory_gib = int(system_data['MemorySummary']['TotalSystemMemoryGiB']) - Raises: ValueError: invalid literal for int() with base 10: '256 GB'