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 7ff0aeb40b
commit 155bf6d938
2 changed files with 14 additions and 2 deletions

View File

@ -45,6 +45,7 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
self.assertEqual({
'IronicEnabledHardwareTypes': ['idrac', 'ilo', 'ipmi', 'redfish'],
'IronicEnabledBootInterfaces': ['ilo-pxe', 'pxe'],
'IronicEnabledDeployInterfaces': ['ansible', 'direct', 'iscsi'],
'IronicEnabledManagementInterfaces': ['fake', 'idrac', 'ilo',
'ipmitool', 'noop',
'redfish'],
@ -64,6 +65,7 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
# ipmi added because it's the default discovery driver
'IronicEnabledHardwareTypes': ['ipmi', 'redfish'],
'IronicEnabledBootInterfaces': ['pxe'],
'IronicEnabledDeployInterfaces': ['ansible', 'direct', 'iscsi'],
'IronicEnabledManagementInterfaces': ['fake', 'ipmitool',
'noop', 'redfish'],
'IronicEnabledPowerInterfaces': ['fake', 'ipmitool', 'redfish'],
@ -79,17 +81,21 @@ class TestProcessDriversAndHardwareTypes(base.TestCase):
self.conf.enabled_hardware_types + ['staging-ovirt', 'snmp',
'irmc', 'cisco-ucs-managed',
'cisco-ucs-standalone',
'xclarity']
'xclarity', 'fake-hardware']
)
undercloud_config._process_drivers_and_hardware_types(self.conf, env)
self.assertEqual({
'IronicEnabledHardwareTypes': ['cisco-ucs-managed',
'cisco-ucs-standalone',
'fake-hardware',
'idrac', 'ilo', 'ipmi', 'irmc',
'redfish', 'snmp', 'staging-ovirt',
'xclarity'],
'IronicEnabledBootInterfaces': ['ilo-pxe', 'irmc-pxe', 'pxe'],
'IronicEnabledBootInterfaces': ['fake', 'ilo-pxe', 'irmc-pxe',
'pxe'],
'IronicEnabledDeployInterfaces': ['ansible', 'direct', 'fake',
'iscsi'],
'IronicEnabledManagementInterfaces': ['cimc', 'fake', 'idrac',
'ilo', 'ipmitool', 'irmc',
'noop', 'redfish',

View File

@ -176,6 +176,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['IronicEnabledBootInterfaces'] = sorted(boot_interfaces)
@ -183,6 +188,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):