Bug 2025654 - default_boot_interface is not set and when adding more ironic drivers, ironic complains that default_boot_interface is not set.
Summary: default_boot_interface is not set and when adding more ironic drivers, ironic...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 16.2 (Train)
Hardware: x86_64
OS: Linux
low
low
Target Milestone: beta
: 17.0
Assignee: OSP Team
QA Contact: Joe H. Rahme
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-11-22 17:06 UTC by David Hill
Modified: 2022-09-21 12:18 UTC (History)
4 users (show)

Fixed In Version: openstack-ironic-17.0.5-0.20211212041903.89111fd.el8ost openstack-tripleo-heat-templates-14.3.1-0.20220204022106.9b9ecb3.el9ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-09-21 12:18:03 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 818808 0 None NEW Add IronicDefaultBootInterface parameter 2021-11-22 17:07:53 UTC
OpenStack gerrit 818973 0 None NEW Clarify driver load error message 2021-11-23 20:42:03 UTC
OpenStack gerrit 819588 0 None NEW Clarify driver load error message 2021-11-29 17:57:42 UTC
OpenStack gerrit 826390 0 None NEW Add IronicDefaultBootInterface parameter 2022-01-25 21:45:50 UTC
Red Hat Issue Tracker OSP-10910 0 None None None 2021-11-22 17:09:24 UTC
Red Hat Product Errata RHEA-2022:6543 0 None None None 2022-09-21 12:18:37 UTC

Description David Hill 2021-11-22 17:06:18 UTC
Description of problem:
default_boot_interface is not set and when adding more ironic drivers, ironic complains that default_boot_interface is not set:
2021-11-18 11:08:48.225 7 ERROR ironic.conductor.base_manager [req-595f3a2f-c358-4b66-92ba-940cf34304df - - - - -] Failed to register hardware types. For hardware type 'ilo', no default value found for boot interface.: ironic.common.exception.NoValidDefaultForInterface: For hardware type 'ilo', no default value found for boot interface.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Julia Kreger 2021-11-23 16:02:43 UTC
So the configuration is, in essence, wrong. The error message could use a little refinement, since it seems to have led on to the wrong path.

Enabling a hardware type doesn't override the interfaces which have been enabled and the ilo/ilo5 hardware types only supports the "ilo-ified" boot interfaces. In other words, a "default_boot_interface" is going to conflict with loading the ilo hardware type, and the ilo hardware type will not load without it's versions of the boot_interfaces on the "enabled_boot_interfaces" parameter.

So, to enable the ilo or ilo5 hardware type, enabled_boot_interfaces should be set to *include* ilo-ipxe, and/or ilo-pxe. Generally we prefer ipxe based interfaces

Realistically, attempting to use a default boot interface global configuration override is kind of like a giant hammer, and should not really be used unless the infrastructure operator knows *exactly* what they are doing or they have a fully heterogeneous environment.

The way the capability is designed is the settings are used as an ordered list, and the union of what is enabled, and what is available helps choose the default if not explicitly defined by the request to create the node, and if all else fails, that is when it would fall back to the default_boot_interface parameter.

Unfortunately, as framed, this is not a bug and this is the intended design of the software. HPE has maintained public docs on the process for enabling and explicitly using the ilo hardware type and it's advanced capabilities for some time.

Comment 2 Steve Baker 2021-11-23 20:42:04 UTC
The logging message is misleading and the attached change clarifies that driver config options need to be changed to reflect enabled hardware types. Its probably only justified to backport this as far as 17.

Comment 3 Julia Kreger 2021-11-29 17:57:42 UTC
Revision of logging has merged upstream. Backports posted to upstream stable branches.

Comment 4 David Hill 2022-01-12 19:35:04 UTC
Does adding this to customer's environment make sense:
~~~
  IronicEnabledHardwareTypes: ['ipmi', 'redfish', 'idrac', 'ilo']
  IronicEnabledBootInterfaces: ['ilo-ipxe', 'ipxe', 'pxe']
  IronicEnabledConsoleInterfaces: ['ipmitool-socat', 'ilo', 'no-console']
  IronicEnabledManagementInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo']
  IronicEnabledPowerInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo']
~~~


?

Comment 5 Steve Baker 2022-01-25 21:24:15 UTC
Yes, this looks like a reasonable configuration for the customer.

The logging improvement is available in 17, but the THT change needs to be backported also.

Comment 7 Julia Kreger 2022-03-14 20:48:14 UTC
Moving to modified, as the patches are is in a build for 17.0. Ready for QA verification.

Comment 12 errata-xmlrpc 2022-09-21 12:18:03 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 (Release of components for Red Hat OpenStack Platform 17.0 (Wallaby)), 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/RHEA-2022:6543


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