Description of problem: Ironic is not able to change the BIOS config settings on an iDrac BMC using the redfish bios_interface. | bios_interface | redfish For example, using the command: $ baremetal node clean dell-430-01 --clean-steps my-clean-steps.txt-asset-tag $ cat my-clean-steps.txt-asset-tag [ { "interface": "bios", "step": "apply_configuration", "args": { "settings": [ { "name": "AssetTag", "value": "RedHat0001" } ] } } ] Results in the attribute being sent correctly to the iDrac but it doesn't get updated. We see this error in ironic-conductor.log Sep 10 13:34:53 hardprov-dl360-g9-01.snedlab.lab.eng.rdu2.redhat.com ironic-conductor[307248]: 2020-09-10 13:34:53.441 307248 ERROR ironic.drivers.modules.redfish.bios [req-99c0ccab-9952-48fc-8c4f-57fcfea30214 - - - - -] Redfish BIOS apply_configuration step failed for node 3ca191c9-fefb-4aba-9aac-19976c780e14. Attributes {'AssetTag': 'RedHat0001'} are not updated. The reason for the failure in setting the attribute is that iDrac is expecting the ApplyTime set to OnReset in order to commit it. This ironic upstream patch fixes the issue https://review.opendev.org/#/c/749240 and allows the BIOS config settings to be committed correctly. Its dependent on this sushy fix also - https://review.opendev.org/#/c/750020/
This requires sushy 3.4.0 and an updated ironic with this fix noted.
All patches have merged. Will be picked up with 4.7 packages.
The ironic pkg that is tagged with the referenced fix is openstack-ironic-api-1:15.2.1-0.20200929104811.fb90ed4.el8ost.noarch. There is not currently a tagged sushy pkg with the fix, when the sushy package is available we'll move this bug to MODIFIED.
Waiting for when 4.7 packages are available to move to MODIFIED.
Moving to MODIFIED now that 4.7 is available.
When Lubov was testing this we realized that we are missing a patch to add redfish to the list of enabled_interfaces. Since this change is in ironic.conf its not possible to make the change and have a valid test. We need the metal3-io patch https://github.com/metal3-io/ironic-image/pull/218 to merge downstream to allow redfish to be used as a setting for bios-interface. Moving this back to POST until that merges.
https://github.com/metal3-io/ironic-image/pull/218 has merged so moving this back to MODIFIED.
Clean failed From metal3-ironic-conductor.log ERROR ironic.conductor.utils [req-6421e463-be19-4cb8-ab7a-e65cc040f009 - - - - -] Node d6c4712f-b25d-46c2-986e-b971faeae4ab failed step {'interface': 'bios', 'step': 'apply_configuration', 'args': {'settings': [{'name': 'AssetTag', 'value': 'RedHat0001'}]}, 'abortable': False, 'priority': 0}: 'Bios' object has no attribute 'supported_apply_times' $ baremetal node bios setting show openshift-worker-0 AssetTag +------------+---------------------------+ | Field | Value | +------------+---------------------------+ | created_at | 2020-12-03T21:17:01+00:00 | | name | AssetTag | | updated_at | None | | value | | +------------+---------------------------+
Looks like we may not have a python-sushy package with fix for https://review.opendev.org/c/openstack/ironic/+/752614/.
Since this fix has not been backported to stable/victoria, and we've been building 4.7 patches off of victoria we don't have the fix in package. We do have a package https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=1389497 with tag ironic-2021.1-rhel-8-trunk-candidate, which I believe is from master, but isn't currently being used. We'll need to decide if we can pick up that package for 4.7 or push this off to 4.8.
Updated sushy package should now be available.
Verified on 4.7.0-0.nightly-2020-12-21-131655 $ baremetal node bios setting show openshift-worker-0 AssetTag +------------+---------------------------+ | Field | Value | +------------+---------------------------+ | created_at | 2020-12-23T14:36:36+00:00 | | name | AssetTag | | updated_at | 2020-12-23T14:45:06+00:00 | | value | RedHat0001 | +------------+---------------------------+
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