Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-76299

SNO ZTP deployment fails with Dell GNR-D iDRAC Firmware Version: 1.30.10.50

    • None
    • False
    • Hide

      None

      Show
      None
    • 1
    • Important
    • None
    • None
    • None
    • Metal Platform 285
    • 1
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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:

      1. Ironic code
        memory_gib = int(system_data['MemorySummary']['TotalSystemMemoryGiB'])
      2. 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":

      { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }

      ,
      "Status@Redfish.Deprecated": "Please migrate to use Status in the individual Memory resources",
      "TotalSystemMemoryGiB": 256,
      "MemoryMirroring": "System"
      }

      Impact on Ironic/Metal3

      1. Ironic sushy library code (simplified)
        memory_gib = int(system_data['MemorySummary']['TotalSystemMemoryGiB'])
      2. Raises: ValueError: invalid literal for int() with base 10: '256 GB'

              rpittau@redhat.com Riccardo Pittau
              shreepat@redhat.com Shreemanth Patil
              Jad Haj Yahya Jad Haj Yahya
              None
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: