Bug 1877924 - Cannot set BIOS config using Redfish with Dell iDracs
Summary: Cannot set BIOS config using Redfish with Dell iDracs
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Bare Metal Hardware Provisioning
Version: 4.6
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.7.0
Assignee: Bob Fournier
QA Contact: Lubov
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-10 18:53 UTC by Bob Fournier
Modified: 2021-02-24 15:18 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: The Redfish interface to set BIOS config was not implemented properly and did not include the ApplyTime setting. Consequence: Dell iDRACs could not set BIOS Configuration values. Fix: Include the ApplyTime setting in the Redfish interface for setting so that BIOS configuration setting could be set properly. Result: BIOS configuration can be set. Although this functionality is not currently being supported in the Baremetal installer it may be in the fugure.
Clone Of:
Environment:
Last Closed: 2021-02-24 15:17:43 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 750020 0 None MERGED Add BIOS update apply time and maintenance window 2021-01-06 12:35:28 UTC
OpenStack gerrit 752614 0 None MERGED Fix redfish BIOS to use @Redfish.SettingsApplyTime 2021-01-06 12:35:28 UTC
Red Hat Product Errata RHSA-2020:5633 0 None None None 2021-02-24 15:18:17 UTC
Storyboard 2008163 0 None None None 2020-09-21 23:34:09 UTC

Description Bob Fournier 2020-09-10 18:53:41 UTC
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/

Comment 1 Bob Fournier 2020-09-10 19:18:30 UTC
This requires sushy 3.4.0 and an updated ironic with this fix noted.

Comment 2 Bob Fournier 2020-10-01 12:19:58 UTC
All patches have merged. Will be picked up with 4.7 packages.

Comment 3 Bob Fournier 2020-10-05 11:27:22 UTC
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.

Comment 4 Bob Fournier 2020-10-26 11:54:11 UTC
Waiting for when 4.7 packages are available to move to MODIFIED.

Comment 5 Bob Fournier 2020-11-11 22:21:11 UTC
Moving to MODIFIED now that 4.7 is available.

Comment 7 Bob Fournier 2020-11-18 21:51:03 UTC
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.

Comment 8 Bob Fournier 2020-12-02 18:34:19 UTC
https://github.com/metal3-io/ironic-image/pull/218 has merged so moving this back to MODIFIED.

Comment 10 Lubov 2020-12-03 21:59:34 UTC
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      |                           |
+------------+---------------------------+

Comment 11 Bob Fournier 2020-12-03 22:20:46 UTC
Looks like we may not have a python-sushy package with fix for https://review.opendev.org/c/openstack/ironic/+/752614/.

Comment 12 Bob Fournier 2020-12-04 00:58:20 UTC
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.

Comment 13 Bob Fournier 2020-12-16 11:49:14 UTC
Updated sushy package should now be available.

Comment 16 Lubov 2020-12-23 14:48:15 UTC
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                |
+------------+---------------------------+

Comment 18 errata-xmlrpc 2021-02-24 15:17:43 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 (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


Note You need to log in before you can comment on or make changes to this bug.