Description of problem: When doing an install for baremetal-ipi using idrac-virtualmedia the bios_interface gets set to idrac-wsman. This results in an error because idrac credentials aren't provided, only redfish. ERROR ironic.conductor.cleaning [req-64b1172d-3068-48ab-903b-7dbbbf9ad52f bootstrap-user - - - -] Caching of bios settings failed on node 8aab2e24-ae1c-4905-9a21-59df23db06d8. Continuing with node cleaning.: ironic.common.exception.InvalidParameterValue: The following errors were encountered while parsing driver_info: 'drac_address' not supplied to DracDriver. 'drac_username' not supplied to DracDriver. 'drac_password' not supplied to DracDriver. 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning Traceback (most recent call last): 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning File "/usr/lib/python3.6/site-packages/ironic/conductor/cleaning.py", line 83, in do_node_clean 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning task.driver.bios.cache_bios_settings(task) 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning File "/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/bios.py", line 366, in cache_bios_settings 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning client = drac_common.get_drac_client(node) 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning File "/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/common.py", line 109, in get_drac_client 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning driver_info = parse_driver_info(node) 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning File "/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/common.py", line 92, in parse_driver_info 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning raise exception.InvalidParameterValue(msg) 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning ironic.common.exception.InvalidParameterValue: The following errors were encountered while parsing driver_info: 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning 'drac_address' not supplied to DracDriver. 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning 'drac_username' not supplied to DracDriver. 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning 'drac_password' not supplied to DracDriver. 2021-02-03 05:51:35.688 1 ERROR ironic.conductor.cleaning
This is the snippet in the install-config.yaml: role: worker bmc: address: idrac-virtualmedia://10.46.61.43/redfish/v1/Systems/System.Embedded.1 disableCertificateVerification: True username: root password: calvin And this is the ironic code where the bios_interface gets set up: https://github.com/openstack/ironic/blob/master/ironic/drivers/drac.py#L62
Mmmm, yeah, we need to specify bios_interface explicitly, since the WSMAN implementation has priority.
Will need to add BIOSInterface in BMO for example: https://github.com/metal3-io/baremetal-operator/blob/75e27989f8c7e4e9e20bec2c5d582f7f85bc4536/pkg/provisioner/ironic/ironic.go#L419 and https://github.com/metal3-io/baremetal-operator/blob/75e27989f8c7e4e9e20bec2c5d582f7f85bc4536/pkg/bmc/idrac_virtualmedia.go#L92 and set it to "redfish" for idrac_virtualmedia.go We'll have to add this interface for the BIOSConfig work to get BIOS settings in BMO.
Moving to 4.9.
verified on 4.9.0-0.nightly-2021-08-25-010624
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.9.0 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:3759