-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.20.0, 4.21.0
-
Quality / Stability / Reliability
-
False
-
-
None
-
Important
-
None
-
None
-
Rejected
-
None
-
In Progress
-
Release Note Not Required
-
None
-
None
-
None
-
None
-
None
Description of Problem
We're doing some testing on Intel SDP (Software Development Platform) based systems and have found recently we are getting errors from metal3's ironic container (metal3-ironic):
2025-09-08 17:30:00.997 1 DEBUG sushy.connector [None req-cddee0b8-015c-40a0-a6f2-e9376d241946 - - - - - -] HTTP request: PATCH https://192.168.170.150/redfish/v1/Managers/bmc/VirtualMedia/Slot_1; headers: {'If-Match': '"E5FE2AAC", "E5FE2AAC"', 'Content-Type': 'application/json', 'OData-Version': '4.0', 'Accept-Encoding': 'identity'}; body: {'Image': 'http://192.168.170.47:6180/redfish/boot-aa72c607-a6b7-4509-8300-3d14289eaa7d.iso', 'Inserted': True, 'WriteProtected': True}; blocking: False; timeout: 60; session arguments: {}; _op /usr/lib/python3.12/site-packages/sushy/connector.py:167 2025-09-08 17:30:01.115 1 DEBUG sushy.exceptions [None req-cddee0b8-015c-40a0-a6f2-e9376d241946 - - - - - -] HTTP response for PATCH https://192.168.170.150/redfish/v1/Managers/bmc/VirtualMedia/Slot_1: status code: 412, error: Base.1.16.0.PreconditionFailed: The ETag supplied did not match the ETag required to change this resource., extended: [{'@odata.type': '#Message.v1_1_1.Message', 'Message': 'The ETag supplied did not match the ETag required to change this resource.', 'MessageArgs': [], 'MessageId': 'Base.1.16.0.PreconditionFailed', 'MessageSeverity': 'Critical', 'Resolution': 'Try the operation again using the appropriate ETag.'}] __init__ /usr/lib/python3.12/site-packages/sushy/exceptions.py:122 2025-09-08 17:30:01.115 1 WARNING sushy.connector [None req-cddee0b8-015c-40a0-a6f2-e9376d241946 - - - - - -] Initial request with eTag failed: HTTP PATCH https://192.168.170.150/redfish/v1/Managers/bmc/VirtualMedia/Slot_1 returned code 412. Base.1.16.0.PreconditionFailed: The ETag supplied did not match the ETag required to change this resource. Extended information: [{'@odata.type': '#Message.v1_1_1.Message', 'Message': 'The ETag supplied did not match the ETag required to change this resource.', 'MessageArgs': [], 'MessageId': 'Base.1.16.0.PreconditionFailed', 'MessageSeverity': 'Critical', 'Resolution': 'Try the operation again using the appropriate ETag.'}]: sushy.exceptions.HTTPError: HTTP PATCH https://192.168.170.150/redfish/v1/Managers/bmc/VirtualMedia/Slot_1 returned code 412. Base.1.16.0.PreconditionFailed: The ETag supplied did not match the ETag required to change this resource. Extended information: [{'@odata.type': '#Message.v1_1_1.Message', 'Message': 'The ETag supplied did not match the ETag required to change this resource.', 'MessageArgs': [], 'MessageId': 'Base.1.16.0.PreconditionFailed', 'MessageSeverity': 'Critical', 'Resolution': 'Try the operation again using the appropriate ETag.'}] 2025-09-08 17:30:01.116 1 ERROR ironic.conductor.utils [None req-cddee0b8-015c-40a0-a6f2-e9376d241946 - - - - - -] Unexpected error while preparing to deploy to node aa72c607-a6b7-4509-8300-3d14289eaa7d: sushy.exceptions.HTTPError: HTTP PATCH https://192.168.170.150/redfish/v1/Managers/bmc/VirtualMedia/Slot_1 returned code 412. Base.1.16.0.PreconditionFailed: The ETag supplied did not match the ETag required to change this resource. Extended information: [{'@odata.type': '#Message.v1_1_1.Message', 'Message': 'The ETag supplied did not match the ETag required to change this resource.', 'MessageArgs': [], 'MessageId': 'Base.1.16.0.PreconditionFailed', 'MessageSeverity': 'Critical', 'Resolution': 'Try the operation again using the appropriate ETag.'}] 2025-09-08 17:30:01.116 1 ERROR ironic.conductor.utils Traceback (most recent call last): 2025-09-08 17:30:01.116 1 ERROR ironic.conductor.utils File "/usr/lib/python3.12/site-packages/ironic/conductor/deployments.py", line 249, in do_node_deploy 2025-09-08 17:30:01.116 1 ERROR ironic.conductor.utils task.driver.deploy.prepare(task) ...
This is using a 4.20.0-ec.5 as the OpenShift version, with 2.14.0 ACM, and 2.9.0 MCE running in the Hub cluster.
How reproducible:
Every time on this hardware
Expected results:
Server is provisioned by Assisted/ZTP/Metal3 using Remote ISOs successfully.
Additional info:
Did something change in Ironic that would affect the behavior of remote media ISOs against these BMCs?
It is worth mentioning that a different Hub with 4.16.46 as the OpenShift version with 2.13.3 and MCE 2.8.2 function well in provisioning this hardware, and we do not see ETag errors or ironic conductor errors.
Happy to provide additional logs or environment access, please let me or Yogesh know.