Support undercloud fake-hardware ironic driver

When including fake-hardware in the undercloud.conf
enabled_hardware_types, some of the fake-hardware default interfaces
are not enabled so it can't be used.

This change allows nodes to be created with driver fake-hardware. If
this proves useful for development or some scale testing then it might
be desirable to add fake-hardware by default to the
enabled_hardware_types list.

Change-Id: I1a6b4df073b39924e6855ea865cfc856a1bdfe6b
Closes-Bug: 1851572
(cherry picked from commit 3657d1dc8d)
This commit is contained in:
Steve Baker 2019-10-08 14:41:55 +13:00
parent 197daf1e0d
commit 9f2a8ae360
2 changed files with 17 additions and 6 deletions

View File

@ -51,6 +51,7 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
'IronicEnabledHardwareTypes': ['idrac', 'ilo', 'ipmi', 'redfish'],
'IronicEnabledBootInterfaces': ['ilo-pxe', 'ipxe', 'pxe'],
'IronicEnabledBiosInterfaces': ['ilo', 'no-bios', 'redfish'],
'IronicEnabledDeployInterfaces': ['ansible', 'direct', 'iscsi'],
'IronicEnabledInspectInterfaces': ['idrac', 'ilo', 'inspector',
'no-inspect', 'redfish'],
'IronicEnabledManagementInterfaces': ['fake', 'idrac', 'ilo',
@ -73,6 +74,7 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
'IronicEnabledHardwareTypes': ['ipmi', 'redfish'],
'IronicEnabledBootInterfaces': ['ipxe', 'pxe'],
'IronicEnabledBiosInterfaces': ['no-bios', 'redfish'],
'IronicEnabledDeployInterfaces': ['ansible', 'direct', 'iscsi'],
'IronicEnabledInspectInterfaces': ['inspector', 'no-inspect',
'redfish'],
'IronicEnabledManagementInterfaces': ['fake', 'ipmitool',
@ -88,18 +90,21 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
env = {}
self.conf.enabled_hardware_types = (
self.conf.enabled_hardware_types + ['staging-ovirt', 'snmp',
'irmc', 'xclarity']
'irmc', 'xclarity',
'fake-hardware']
)
undercloud_config._process_drivers_and_hardware_types(self.conf, env)
self.assertEqual({
'IronicEnabledHardwareTypes': ['idrac', 'ilo', 'ipmi', 'irmc',
'redfish', 'snmp', 'staging-ovirt',
'xclarity'],
'IronicEnabledBootInterfaces': ['ilo-pxe', 'ipxe', 'irmc-pxe',
'pxe'],
'IronicEnabledHardwareTypes': ['fake-hardware', 'idrac', 'ilo',
'ipmi', 'irmc', 'redfish', 'snmp',
'staging-ovirt', 'xclarity'],
'IronicEnabledBootInterfaces': ['fake', 'ilo-pxe', 'ipxe',
'irmc-pxe', 'pxe'],
'IronicEnabledBiosInterfaces': ['ilo', 'irmc',
'no-bios', 'redfish'],
'IronicEnabledDeployInterfaces': ['ansible', 'direct', 'fake',
'iscsi'],
'IronicEnabledInspectInterfaces': ['idrac', 'ilo', 'inspector',
'irmc', 'no-inspect',
'redfish'],

View File

@ -184,6 +184,11 @@ def _process_drivers_and_hardware_types(conf, env):
if 'snmp' in enabled_hardware_types:
power_interfaces.add('snmp')
deploy_interfaces = {'iscsi', 'direct', 'ansible'}
if 'fake-hardware' in enabled_hardware_types:
deploy_interfaces.add('fake')
boot_interfaces.add('fake')
env['IronicEnabledHardwareTypes'] = sorted(enabled_hardware_types)
env['IronicEnabledBiosInterfaces'] = sorted(bios_interfaces)
@ -193,6 +198,7 @@ def _process_drivers_and_hardware_types(conf, env):
env['IronicEnabledPowerInterfaces'] = sorted(power_interfaces)
env['IronicEnabledRaidInterfaces'] = sorted(raid_interfaces)
env['IronicEnabledVendorInterfaces'] = sorted(vendor_interfaces)
env['IronicEnabledDeployInterfaces'] = sorted(deploy_interfaces)
def _process_ipa_args(conf, env):