Bug 1945701

Summary: Syncing boot mode after changing device should be restricted to Supermicro
Product: Red Hat OpenStack Reporter: Bob Fournier <bfournie>
Component: openstack-ironicAssignee: Steve Baker <sbaker>
Status: CLOSED ERRATA QA Contact: Paras Babbar <pbabbar>
Severity: high Docs Contact:
Priority: high    
Version: 16.1 (Train)CC: augol, jkreger, pbabbar, sbaker
Target Milestone: z7Keywords: Triaged
Target Release: 16.1 (Train on RHEL 8.2)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-ironic-13.0.7-1.20210603224532.3d77e61.el8ost Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: 1945700 Environment:
Last Closed: 2021-12-09 20:18:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1888375    

Description Bob Fournier 2021-04-01 16:56:33 UTC
+++ This bug was initially created as a clone of Bug #1945700 +++

We have a report upstream of problems with Dell systems when changing boot mode because of the fix for https://bugzilla.redhat.com/show_bug.cgi?id=1892302. This fix (https://review.opendev.org/c/openstack/ironic/+/758856) syncs the boot mode after setting the boot device. On Dell systems this can cause problems when changing the boot mode because the change is cached.

From the upstream report:
=========================

Node deployment failed for cross boot mode scenario using redfish driver
This issue is only observed for cross-boot mode scenarios i.e. uefi-bios or bios-uefi.

Configurational Details
• iDRAC Model : PowerEdge XE2420
• BIOS version : 1.3.3
• Boot Mode :- UEFI in script and BIOS in idrac

Steps to reproduce:
a. Create node on devstack using create_node.sh (make appropriate changes in CLI for node creation).
./create_node.sh
Provision state should be in Available mode, after node get created.
b. Once Node is available then Deploy the node
Command to Execute :- openstack baremetal node deploy
c: Keep track on log - sudo journalctl -f -u devstack
d. Expected Result :- Once node is deployed, provision state should be in Active Mode

Observations:-
In case of cross boot mode using redfish drivers , while deploying the node it get failed . BIOS is getting displayed in pending jobs in job queue and Console power state remains off .

Note- This is a regression issue. It occurs beacause of an upstream change to ironic : "https://review.opendev.org/c/openstack/ironic/+/758856"
It was working fine with iDRAC f/w 4.22.00.00.

LOG:
Redfish exception occurred. Error: Setting boot mode to uefi failed for node Error: HTTP PATCH https://192.168.110.22/redfish/v1/Systems/System.Embedded.1 returned code 400. Base.1.5.GeneralError: Pending configuration values are already committed, unable to perform another set operation. Extended information: [{'Message': 'Pending configuration values are already committed, unable to perform another set operation.', 'MessageArgs': ['BootSourceOverrideMode'], 'MessageArgs': 1, 'MessageId': 'IDRAC.2.1.SYS011', 'RelatedProperties': ['BootSourceOverrideMode'], 'RelatedProperties': 1, 'Resolution': 'Wait for the scheduled job to complete or delete the configuration jobs before attempting more set attribute operations.', 'Severity': 'Warning'}]:

Comment 25 errata-xmlrpc 2021-12-09 20:18:25 UTC
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 (Red Hat OpenStack Platform 16.1.7 (Train) bug fix and enhancement advisory), 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/RHBA-2021:3762