Undercloud: support inspect interface for redfish, idrac, ilo, irmc

Generate inspect interface defaults for ironic configuration based
on the enabled hardware types.

Change-Id: Ifa235d0cf5e07f7ebfeff33026494cb28ec62362
Story: 1526753
Task: 24804
This commit is contained in:
Ilya Etingof 2019-01-10 18:09:36 +01:00
parent 3fb46ba093
commit 49d92c9f9b
3 changed files with 18 additions and 0 deletions

View File

@ -0,0 +1,5 @@
---
features:
- |
Automatically enables ironic inspection interfaces for enabled ironic
hardware types supporting out-of-band inspection.

View File

@ -50,6 +50,8 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
'IronicEnabledHardwareTypes': ['idrac', 'ilo', 'ipmi', 'redfish'],
'IronicEnabledBootInterfaces': ['ilo-pxe', 'ipxe', 'pxe'],
'IronicEnabledBiosInterfaces': ['ilo', 'no-bios', 'redfish'],
'IronicEnabledInspectInterfaces': ['idrac', 'ilo', 'inspector',
'no-inspect', 'redfish'],
'IronicEnabledManagementInterfaces': ['fake', 'idrac', 'ilo',
'ipmitool', 'noop',
'redfish'],
@ -70,6 +72,8 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
'IronicEnabledHardwareTypes': ['ipmi', 'redfish'],
'IronicEnabledBootInterfaces': ['ipxe', 'pxe'],
'IronicEnabledBiosInterfaces': ['no-bios', 'redfish'],
'IronicEnabledInspectInterfaces': ['inspector', 'no-inspect',
'redfish'],
'IronicEnabledManagementInterfaces': ['fake', 'ipmitool',
'noop', 'redfish'],
'IronicEnabledPowerInterfaces': ['fake', 'ipmitool', 'redfish'],
@ -99,6 +103,9 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
'pxe'],
'IronicEnabledBiosInterfaces': ['ilo', 'irmc',
'no-bios', 'redfish'],
'IronicEnabledInspectInterfaces': ['idrac', 'ilo', 'inspector',
'irmc', 'no-inspect',
'redfish'],
'IronicEnabledManagementInterfaces': ['cimc', 'fake', 'idrac',
'ilo', 'ipmitool', 'irmc',
'noop', 'redfish',

View File

@ -166,6 +166,11 @@ def _process_drivers_and_hardware_types(conf, env):
if hw_type in enabled_hardware_types:
boot_interfaces.add('%s-pxe' % hw_type)
inspect_interfaces = {'inspector', 'no-inspect'}
for hw_type in ('redfish', 'idrac', 'ilo', 'irmc'):
if hw_type in enabled_hardware_types:
inspect_interfaces.add(hw_type)
raid_interfaces = {'no-raid'}
if 'idrac' in enabled_hardware_types:
raid_interfaces.add('idrac')
@ -187,6 +192,7 @@ def _process_drivers_and_hardware_types(conf, env):
env['IronicEnabledBiosInterfaces'] = sorted(bios_interfaces)
env['IronicEnabledBootInterfaces'] = sorted(boot_interfaces)
env['IronicEnabledInspectInterfaces'] = sorted(inspect_interfaces)
env['IronicEnabledManagementInterfaces'] = sorted(mgmt_interfaces)
env['IronicEnabledPowerInterfaces'] = sorted(power_interfaces)
env['IronicEnabledRaidInterfaces'] = sorted(raid_interfaces)