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'}]:
Need to pick up the Ironic patch in ironic-image.
Will be picked up in this ironic-image patch - https://github.com/openshift/ironic-image/pull/159.
Verified on 4.8.0-0.nightly-2021-04-30-201824 Steps: Use a setup with all machines with boot mode set to UEFI 1. Set bootMode: legacy in install-config.yaml for one of the workers machines 2. Deploy the cluster: inspection error for the worker with bootMode: legacy 3. After deployment finished, re-deploy it setting bootMode: UEFI in config-install.yaml for the same worker: cluster deployed with no problems
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.8.2 bug fix and security 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-2021:2438