undercloud: support the standard set of hardware types and interface

This change makes the THT-based undercloud use the same set of hardware
types and hardware interfaces as the instack-based by default.

IronicEnabled***Interfaces options are exposed for all interfaces,
except for work-in-progress rescue interface.

Change-Id: I97ce4eec9c8765480a5fd2e51ebd25e438f52754
Partial-Bug: #1690185
This commit is contained in:
Dmitry Tantsur 2017-11-27 12:35:30 +01:00
parent 107b610923
commit ce48b4c85c
2 changed files with 65 additions and 2 deletions

View File

@ -19,6 +19,23 @@ parameter_defaults:
HeatConvergenceEngine: false
HeatMaxResourcesPerStack: -1
HeatMaxJsonBodySize: 2097152
IronicEnabledHardwareTypes: ['ipmi', 'redfish', 'idrac', 'ilo']
IronicEnabledBootInterfaces: ['pxe', 'ilo-pxe']
IronicEnabledConsoleInterfaces: ['ipmitool-socat', 'ilo', 'no-console']
# TODO(dtantsur): one day we may want to support the direct deploy too
IronicEnabledDeployInterfaces: ['iscsi']
IronicEnabledInspectInterfaces: ['inspector', 'no-inspect']
IronicEnabledManagementInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo']
# NOTE(dtantsur): disabling advanced networking as it's not used (or
# configured) in the undercloud
IronicEnabledNetworkInterfaces: ['flat']
IronicEnabledPowerInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo']
# NOTE(dtantsur): disabling the "agent" RAID as our ramdisk does not contain
# any vendor-specific RAID additions.
IronicEnabledRaidInterfaces: ['no-raid']
# NOTE(dtantsur): we don't use boot-from-cinder on the undercloud
IronicEnabledStorageInterfaces: ['noop']
IronicEnabledVendorInterfaces: ['ipmitool', 'idrac', 'no-vendor']
IronicInspectorCollectors: default,extra-hardware,numa-topology,logs
IronicInspectorInterface: br-ctlplane
IronicInspectorIpRange: '192.168.24.100,192.168.24.200'

View File

@ -68,16 +68,56 @@ parameters:
default: ['ipmi', 'redfish']
description: Enabled Ironic hardware types
type: comma_delimited_list
IronicEnabledBootInterfaces:
default: ['pxe']
description: Enabled boot interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledConsoleInterfaces:
default: ['ipmitool-socat', 'no-console']
description: Enabled console interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledDeployInterfaces:
default: ['iscsi', 'direct']
description: Enabled deploy interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledInspectInterfaces:
default: ['no-inspect']
description: Enabled inspect interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledManagementInterfaces:
default: ['ipmitool', 'redfish']
description: Enabled management interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledNetworkInterfaces:
default: ['flat', 'neutron']
description: Enabled network interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledPowerInterfaces:
default: ['ipmitool', 'redfish']
description: Enabled power interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledRaidInterfaces:
default: ['no-raid', 'agent']
description: Enabled RAID interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledStorageInterfaces:
default: ['cinder', 'noop']
description: Enabled storage interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicEnabledVendorInterfaces:
default: ['ipmitool', 'no-vendor']
description: Enabled vendor interface implementations. Each hardware
type must have at least one valid implementation enabled.
type: comma_delimited_list
IronicIPXEEnabled:
default: true
description: Whether to use iPXE instead of PXE for deployment.
@ -150,10 +190,16 @@ outputs:
# NOTE(dtantsur): UEFI only works with iPXE currently for us
ironic::drivers::pxe::uefi_pxe_config_template: '$pybasedir/drivers/modules/ipxe_config.template'
ironic::drivers::pxe::uefi_pxe_bootfile_name: 'ipxe.efi'
ironic::drivers::interfaces::enabled_console_interfaces: ['ipmitool-socat', 'no-console']
ironic::drivers::interfaces::enabled_boot_interfaces: {get_param: IronicEnabledBootInterfaces}
ironic::drivers::interfaces::enabled_console_interfaces: {get_param: IronicEnabledConsoleInterfaces}
ironic::drivers::interfaces::enabled_deploy_interfaces: {get_param: IronicEnabledDeployInterfaces}
ironic::drivers::interfaces::enabled_inspect_interfaces: {get_param: IronicEnabledInspectInterfaces}
ironic::drivers::interfaces::enabled_management_interfaces: {get_param: IronicEnabledManagementInterfaces}
ironic::drivers::interfaces::enabled_network_interfaces: ['flat', 'neutron']
ironic::drivers::interfaces::enabled_network_interfaces: {get_param: IronicEnabledNetworkInterfaces}
ironic::drivers::interfaces::enabled_power_interfaces: {get_param: IronicEnabledPowerInterfaces}
ironic::drivers::interfaces::enabled_raid_interfaces: {get_param: IronicEnabledRaidInterfaces}
ironic::drivers::interfaces::enabled_storage_interfaces: {get_param: IronicEnabledStorageInterfaces}
ironic::drivers::interfaces::enabled_vendor_interfaces: {get_param: IronicEnabledVendorInterfaces}
ironic::drivers::interfaces::default_network_interface: {get_param: IronicDefaultNetworkInterface}
tripleo.ironic_conductor.firewall_rules:
'134 ironic conductor TFTP':