Bug #38914
closedBoot order cannot be changed to PXE via Redfish (ETag required but not handled)
Description
Summary¶
When using the Redfish BMC provider, setting a host to boot from PXE (via UI or `hammer host boot`) reports success, but the actual BMC boot order is not updated, and the system does not PXE boot.
Description¶
Many Redfish implementations require ETag / If-Match for PATCH updates.
However, Foreman’s Smart Proxy currently:
- does not retrieve ETags
- does not send `If-Match` headers
This results in HTTP 200 responses while the BMC silently ignores the boot override change.
A manual PATCH with ETag succeeds, for example:
curl -k -u admin:PASS \
-H "If-Match: W/\"<ETAG>\"" \
-X PATCH \
-d '{"Boot":{"BootSourceOverrideTarget":"Pxe","BootSourceOverrideEnabled":"Once"}}' \
https://<BMC>/redfish/v1/Systems/0
Reference: Redfish Specification DSP0266 v1.23.0, Section 6.5
https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.23.0.pdf
Steps to Reproduce¶
1. Configure a host’s BMC with the Redfish provider
2. Go to Host → Interfaces → BMC → Set Boot device = PXE
3. Or run:
hammer host boot --device pxe --name <hostname>
4. Foreman reports success, but the boot order does not change.
Actual Behavior¶
- Smart Proxy receives HTTP 200
- Boot order on the BMC remains unchanged
Expected Behavior¶
- Boot override should update correctly
- Host should PXE boot on next reboot
Updated by The Foreman Bot 6 months ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/smart-proxy/pull/930 added
Updated by Anonymous 4 months ago
- Status changed from Ready For Testing to Closed
Applied in changeset a5780bc6e0132d7e91fa3074845b2a3d1cc30f01.