Add support for "neutron" Ironic networking plugin

This enabled a lot of advanced networking features (see the release note).
Related to blueprint ironic-driver-composition

Change-Id: I20ea994fec36d73e618107b5c3594ec1c0f8cb93
Depends-On: I72eb8b06cca14073d1d1c82462fb702630e02de3
This commit is contained in:
Dmitry Tantsur 2017-04-03 18:51:44 +02:00
parent b20bdcee03
commit 6ddcd9a1cb
2 changed files with 30 additions and 0 deletions

View File

@ -32,6 +32,15 @@ parameters:
created yet) and should be changed to an actual UUID in
a post-deployment stack update.
type: string
IronicDefaultNetworkInterface:
default: 'flat'
description: Network interface implementation to use by default.
Set to "flat" (the default) to use one flat provider network.
Set to "neutron" to make Ironic interact with the Neutron
ML2 driver to enable other network types and certain
advances networking features. Requires
IronicProvisioningNetwork to be correctly set.
type: string
IronicEnabledDrivers:
default: ['pxe_ipmitool', 'pxe_drac', 'pxe_ilo']
description: Enabled Ironic drivers
@ -48,6 +57,15 @@ parameters:
description: The password for the Ironic service and db account, used by the Ironic services
type: string
hidden: true
IronicProvisioningNetwork:
default: 'provisioning'
description: Name or UUID of the *overcloud* network used for provisioning
of bare metal nodes, if IronicDefaultNetworkInterface is
set to "neutron". The default value of "provisioning" can be
left during the initial deployment (when no networks are
created yet) and should be changed to an actual UUID in
a post-deployment stack update.
type: string
MonitoringSubscriptionIronicConductor:
default: 'overcloud-ironic-conductor'
type: string
@ -72,6 +90,7 @@ outputs:
- ironic::conductor::api_url: {get_param: [EndpointMap, IronicInternal, uri_no_suffix]}
ironic::conductor::cleaning_disk_erase: {get_param: IronicCleaningDiskErase}
ironic::conductor::cleaning_network: {get_param: IronicCleaningNetwork}
ironic::conductor::provisioning_network: {get_param: IronicProvisioningNetwork}
ironic::conductor::enabled_drivers: {get_param: IronicEnabledDrivers}
# We need an endpoint containing a real IP, not a VIP here
ironic_conductor_http_host: {get_param: [ServiceNetMap, IronicNetwork]}
@ -93,6 +112,8 @@ 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_network_interfaces: ['flat', 'neutron']
ironic::drivers::interfaces::default_network_interface: {get_param: IronicDefaultNetworkInterface}
tripleo.ironic_conductor.firewall_rules:
'134 ironic conductor TFTP':
dport: 69

View File

@ -0,0 +1,9 @@
---
features:
- |
Allow setting the Ironic provisioning network UUID or name via new
``IronicProvisioningNetwork`` configuration.
- |
Enable support for "neutron" Ironic networking plugin, enabling advanced
integration with Neutron, such as VLAN/VXLAN network support, bonding and
security groups.