-
Bug
-
Resolution: Duplicate
-
Normal
-
None
-
4.17
Description of problem:
When the bare metal operator live boots a coreos image for inspecting the Phantom Lake card via RAM Disk. It will go into a fail loop. The reason it goes into a fail loop is because ironic-agent gets into a JSONDecodeError from lshw. Specifically the RAM memory portion has a `\` character in the `serial` field that is unescaped thus causing the parsing to fail. ---snip--- "children" : [ { "id" : "bank:0", "class" : "memory", "claimed" : true, "handle" : "DMI:0015", "description" : "DIMM DDR4 Synchronous 3200 MHz (0.3 ns)", "physid" : "0", "serial" : "\", "slot" : "CPU0_DIMM_A1", "units" : "bytes", "size" : 17179869184, "width" : 64, "clock" : 3200000000 }, ---snip---
Version-Release number of selected component (if applicable):
OpenShift 4.17.9
How reproducible:
Always
Steps to Reproduce:
1. Install these YAML files --- # Documentation: https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.10/html-single/clusters/index#enable-cim-create-provision apiVersion: metal3.io/v1alpha1 kind: Provisioning metadata: name: provisioning-configuration namespace: open-cluster-management spec: provisioningMacAddresses: # IMPORTANT: The provisioningMacAddresses is on purpose: do not change this unless you absolutely know what you're doing (hint: read docs first)! - aa:aa:aa:aa:aa:aa provisioningNetwork: Disabled watchAllNamespaces: true --- apiVersion: metal3.io/v1alpha1 kind: BareMetalHost metadata: name: metal3-ptl-bmh-2 namespace: openshift-machine-api annotations: inspect.metal3.io: disabled spec: bmc: address: redfish-virtualmedia://wsfd-advnetlab230-intel-ptl-bmc.anl.eng.bos2.dc.redhat.com/redfish/v1/Systems/system credentialsName: metal3-ptl-credentials disableCertificateVerification: true bootMACAddress: 88:dc:97:44:ed:8c description: "Phantom Lake" online: true automatedCleaningMode: metadata image: url: https://file.brq.redhat.com/wizhao/RHEL-9.4.0-20240527.75-x86_64-dvd1-w-kickstart-2.iso format: live-iso rootDeviceHints: deviceName: "/dev/mmcblk0" 2. When the boot ISO is run from ramdisk, inspect the ironic-python-agent pod 3.Dec 20 20:44:08 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com ironic-agent[1978]: 2024-12-20 20:44:08.066 1 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): lshw -quiet -json execute /usr/lib/python3.9/site-packages/oslo_concurrency/processutils.py:390Dec 20 20:44:08 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com podman[1952]: 2024-12-20 20:44:08.066 1 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): lshw -quiet -json execute /usr/lib/python3.9/site-packages/oslo_concurrency/processutils.py:390Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com ironic-agent[1978]: 2024-12-20 20:44:09.553 1 DEBUG oslo_concurrency.processutils [-] CMD "lshw -quiet -json" returned: 0 in 1.487s execute /usr/lib/python3.9/site-packages/oslo_concurrency/processutils.py:428Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com ironic-agent[1978]: 2024-12-20 20:44:09.553 1 DEBUG ironic_lib.utils [-] Command stderr is: "" _log /usr/lib/python3.9/site-packages/ironic_lib/utils.py:107Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com podman[1952]: 2024-12-20 20:44:09.553 1 DEBUG oslo_concurrency.processutils [-] CMD "lshw -quiet -json" returned: 0 in 1.487s execute /usr/lib/python3.9/site-packages/oslo_concurrency/processutils.py:428Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com podman[1952]: 2024-12-20 20:44:09.553 1 DEBUG ironic_lib.utils [-] Command stderr is: "" _log /usr/lib/python3.9/site-packages/ironic_lib/utils.py:107Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com ironic-agent[1978]: 2024-12-20 20:44:09.554 1 ERROR root [-] Unexpected error dispatching list_network_interfaces to manager <ironic_python_agent.hardware.GenericHardwareManager object at 0x7f9b75049f70>: Invalid control character at: line 331 column 30 (char 11066): json.decoder.JSONDecodeError: Invalid control character at: line 331 column 30 (char 11066)Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com ironic-agent[1978]: 2024-12-20 20:44:09.554 1 ERROR root Traceback (most recent call last):Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com ironic-agent[1978]: 2024-12-20 20:44:09.554 1 ERROR root File "/usr/lib/python3.9/site-packages/ironic_python_agent/hardware.py", line 3492, in dispatch_to_managersDec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com podman[1952]: 2024-12-20 20:44:09.554 1 ERROR root [-] Unexpected error dispatching list_network_interfaces to manager <ironic_python_agent.hardware.GenericHardwareManager object at 0x7f9b75049f70>: Invalid control character at: line 331 column 30 (char 11066): json.decoder.JSONDecodeError: Invalid control character at: line 331 column 30 (char 11066)Dec 20 20:44:09 wsfd-advnetlab230-intel-ptl.anl.eng.bos2.dc.redhat.com podman[1952]: 2024-12-20 20:44:09.554 1 ERROR root Traceback (most recent call last):
Actual results:
Bare Metal Operator does not proceed further beyond trying to inspect the h an enters a failure loop.
Expected results:
Bare Metal Operator should be able to inspect the HW with lshw properly.
Additional info:
- is blocked by
-
RHEL-73141 lshw produces invalid JSON when serial number ends with \
-
- Closed
-