Bug 1918558
Summary: | Supermicro nodes boot to PXE upon reboot after successful deployment to disk | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Bob Fournier <bfournie> |
Component: | Bare Metal Hardware Provisioning | Assignee: | Bob Fournier <bfournie> |
Bare Metal Hardware Provisioning sub component: | ironic | QA Contact: | Raviv Bar-Tal <rbartal> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | high | ||
Priority: | high | CC: | dblack, kquinn, murali, rbartal, tsedovic |
Version: | 4.7 | Keywords: | OtherQA, Triaged, UpcomingSprint |
Target Milestone: | --- | ||
Target Release: | 4.7.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
Cause:
When set to boot via Redfish, Supermicro nodes require that BootSourceOverrideEnabled be set whenever BootSourceOverrideTarget is set or the default for BootSourceOverideEnabled (Once) will be used. This is different than other vendors which require that BootSourceOverideEnabled not be set if the value is the same as current setting.
Consequence:
Supermicro nodes will boot to HDD only one time and then will revert to booting using PXE.
Fix:
On Supermicro nodes, always set BootSourceOverideEnabled when setting BootSourceOverrideTarget.
Result:
Supermicro nodes will boot to disk persistently after deployment.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2021-02-24 15:55:11 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Bob Fournier
2021-01-21 03:04:40 UTC
This is related to https://review.opendev.org/c/openstack/ironic/+/731644 which references http://lists.openstack.org/pipermail/openstack-discuss/2020-April/014543.html and provides context on how BootSourceOverrideEnabled should be be used. We tried setting pxe.enable_netboot_fallback in ironic.conf but that had no affect and the Supermicro node still booted to PXE after an external reboot. We then changed this line https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/redfish/management.py#L96 to not check if BootSourceOverideEnabled is already set and it works fine. The 2nd PATCH request matches the 1st PATCH request and it sets Continuous. After RHCOS reboots the node (outside of Ironic) the node boots to disk. Fix has merged and is available in brew https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=1486293 Got a chance to test this patch on Supermicro 1029Ps using 4.7.0-0.nightly-2021-02-04-031352 and it is verified. We could see the logs setting HDD boot with "Continuous" flag, 2021-02-15 21:22:01.566 1 DEBUG sushy.connector [req-d8db6171-f384-48c6-b6ac-afe873710e9b - - - - -] HTTP request: PATCH https://mgmt-f06-h15-000-1029p.rdu2.scalelab.redhat.com/redfish/v1/Systems/1; headers: {'OData-Version': '4.0'}; body: {'Boot': {'BootSourceOverrideTarget': 'Hdd', 'BootSourceOverrideEnabled': 'Continuous'}}; blocking: False; timeout: 60; session arguments: {}; _op /usr/lib/python3.6/site-packages/sushy/connector.py:102 2021-02-15 21:22:03.056 1 DEBUG sushy.connector [req-d8db6171-f384-48c6-b6ac-afe873710e9b - - - - -] HTTP request: PATCH https://mgmt-f06-h15-000-1029p.rdu2.scalelab.redhat.com/redfish/v1/Systems/1; headers: {'OData-Version': '4.0'}; body: {'Boot': {'BootSourceOverrideMode': 'UEFI'}}; blocking: False; timeout: 60; session arguments: {}; _op /usr/lib/python3.6/site-packages/sushy/connector.py:102 and on second request as well, 2021-02-15 21:22:04.501 1 DEBUG sushy.connector [req-d8db6171-f384-48c6-b6ac-afe873710e9b - - - - -] HTTP request: PATCH https://mgmt-f06-h15-000-1029p.rdu2.scalelab.redhat.com/redfish/v1/Systems/1; headers: {'OData-Version': '4.0'}; body: {'Boot': {'BootSourceOverrideTarget': 'Hdd', 'BootSourceOverrideEnabled': 'Continuous'}}; blocking: False; timeout: 60; session arguments: {}; _op /usr/lib/python3.6/site-packages/sushy/connector.py:102 2021-02-15 21:22:05.959 1 DEBUG sushy.connector [req-d8db6171-f384-48c6-b6ac-afe873710e9b - - - - -] HTTP request: PATCH https://mgmt-f06-h15-000-1029p.rdu2.scalelab.redhat.com/redfish/v1/Systems/1; headers: {'OData-Version': '4.0'}; body: {'Boot': {'BootSourceOverrideMode': 'UEFI'}}; blocking: False; timeout: 60; session arguments: {}; _op /usr/lib/python3.6/site-packages/sushy/connector.py:102 Redfish boot config is set with same and it booted properly, { "BootSourceOverrideEnabled": "Continuous", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideTarget": "Hdd", "BootSourceOverrideTarget": [ "None", "Pxe", "Floppy", "Cd", "Usb", "Hdd", "BiosSetup" ] } Thanks Bob for working on this. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:5633 |