Merge "ironic: revert to ironic's default drivers & interfaces"

This commit is contained in:
Zuul 2024-09-18 15:08:16 +00:00 committed by Gerrit Code Review
commit 200b955eab
5 changed files with 83 additions and 52 deletions

View File

@ -4,111 +4,92 @@
# Specify the list of hardware types to load during service initialization. # Specify the list of hardware types to load during service initialization.
kolla_ironic_enabled_hardware_types: kolla_ironic_enabled_hardware_types:
- ipmi
# Specify the list of bios interfaces to load during service initialization. # Specify the list of bios interfaces to load during service initialization.
kolla_ironic_enabled_bios_interfaces: kolla_ironic_enabled_bios_interfaces:
- no-bios
# Default bios interface to be used for nodes that do not have bios_interface # Default bios interface to be used for nodes that do not have bios_interface
# field set. # field set.
kolla_ironic_default_bios_interface: no-bios kolla_ironic_default_bios_interface:
# Specify the list of boot interfaces to load during service initialization. # Specify the list of boot interfaces to load during service initialization.
kolla_ironic_enabled_boot_interfaces: kolla_ironic_enabled_boot_interfaces:
- ipxe
- pxe
# Default boot interface to be used for nodes that do not have boot_interface # Default boot interface to be used for nodes that do not have boot_interface
# field set. # field set.
kolla_ironic_default_boot_interface: ipxe kolla_ironic_default_boot_interface:
# Specify the list of console interfaces to load during service initialization. # Specify the list of console interfaces to load during service initialization.
kolla_ironic_enabled_console_interfaces: kolla_ironic_enabled_console_interfaces:
- ipmitool-socat
- no-console
# Default console interface to be used for nodes that do not have # Default console interface to be used for nodes that do not have
# console_interface field set. # console_interface field set.
kolla_ironic_default_console_interface: ipmitool-socat kolla_ironic_default_console_interface:
# Specify the list of deploy interfaces to load during service initialization. # Specify the list of deploy interfaces to load during service initialization.
kolla_ironic_enabled_deploy_interfaces: kolla_ironic_enabled_deploy_interfaces:
- direct
# Default deploy interface to be used for nodes that do not have # Default deploy interface to be used for nodes that do not have
# deploy_interface field set. # deploy_interface field set.
kolla_ironic_default_deploy_interface: direct kolla_ironic_default_deploy_interface:
# Specify the list of inspect interfaces to load during service initialization. # Specify the list of inspect interfaces to load during service initialization.
kolla_ironic_enabled_inspect_interfaces: kolla_ironic_enabled_inspect_interfaces:
- inspector
- no-inspect
# Default inspect interface to be used for nodes that do not have # Default inspect interface to be used for nodes that do not have
# inspect_interface field set. # inspect_interface field set.
kolla_ironic_default_inspect_interface: inspector kolla_ironic_default_inspect_interface:
# Specify the list of management interfaces to load during service # Specify the list of management interfaces to load during service
# initialization. # initialization.
kolla_ironic_enabled_management_interfaces: kolla_ironic_enabled_management_interfaces:
- ipmitool
# Default management interface to be used for nodes that do not have # Default management interface to be used for nodes that do not have
# management_interface field set. # management_interface field set.
kolla_ironic_default_management_interface: ipmitool kolla_ironic_default_management_interface:
# Specify the list of network interfaces to load during service initialization. # Specify the list of network interfaces to load during service initialization.
kolla_ironic_enabled_network_interfaces: kolla_ironic_enabled_network_interfaces:
- noop
- flat
- neutron
# Default network interface to be used for nodes that do not have # Default network interface to be used for nodes that do not have
# network_interface field set. # network_interface field set.
kolla_ironic_default_network_interface: neutron kolla_ironic_default_network_interface:
# Specify the list of power interfaces to load during service initialization. # Specify the list of power interfaces to load during service initialization.
kolla_ironic_enabled_power_interfaces: kolla_ironic_enabled_power_interfaces:
- ipmitool
# Default power interface to be used for nodes that do not have power_interface # Default power interface to be used for nodes that do not have power_interface
# field set. # field set.
kolla_ironic_default_power_interface: ipmitool kolla_ironic_default_power_interface:
# Specify the list of raid interfaces to load during service initialization. # Specify the list of raid interfaces to load during service initialization.
kolla_ironic_enabled_raid_interfaces: kolla_ironic_enabled_raid_interfaces:
- agent
- no-raid
# Default raid interface to be used for nodes that do not have # Default raid interface to be used for nodes that do not have
# raid_interface field set. # raid_interface field set.
kolla_ironic_default_raid_interface: no-raid kolla_ironic_default_raid_interface:
# Specify the list of rescue interfaces to load during service initialization. # Specify the list of rescue interfaces to load during service initialization.
kolla_ironic_enabled_rescue_interfaces: kolla_ironic_enabled_rescue_interfaces:
- agent
- no-rescue
# Default rescue interface to be used for nodes that do not have # Default rescue interface to be used for nodes that do not have
# rescue_interface field set. # rescue_interface field set.
kolla_ironic_default_rescue_interface: no-rescue kolla_ironic_default_rescue_interface:
# Specify the list of storage interfaces to load during # Specify the list of storage interfaces to load during
# service initialization. # service initialization.
#kolla_ironic_enabled_storage_interfaces: kolla_ironic_enabled_storage_interfaces:
# Default storage interface to be used for nodes that do not # Default storage interface to be used for nodes that do not
# have storage_interface field set. # have storage_interface field set.
#kolla_ironic_default_storage_interface: kolla_ironic_default_storage_interface:
# Specify the list of vendor interfaces to load during service initialization. # Specify the list of vendor interfaces to load during service initialization.
kolla_ironic_enabled_vendor_interfaces: kolla_ironic_enabled_vendor_interfaces:
- no-vendor
# Default vendor interface to be used for nodes that do not have # Default vendor interface to be used for nodes that do not have
# vendor_interface field set. # vendor_interface field set.
kolla_ironic_default_vendor_interface: no-vendor kolla_ironic_default_vendor_interface:
# Name of the Neutron network to use for cleaning. # Name of the Neutron network to use for cleaning.
kolla_ironic_cleaning_network: "{{ kolla_ironic_provisioning_network if cleaning_net_name == provision_wl_net_name else 'cleaning-net' }}" kolla_ironic_cleaning_network: "{{ kolla_ironic_provisioning_network if cleaning_net_name == provision_wl_net_name else 'cleaning-net' }}"

View File

@ -457,46 +457,39 @@ kolla_enable_influxdb: false
# Whether to enable Ironic. # Whether to enable Ironic.
kolla_enable_ironic: false kolla_enable_ironic: false
# List of enabled Ironic drivers.
kolla_ironic_drivers:
- agent_ssh
- agent_ipmitool
- pxe_ssh
- pxe_ipmitool
# Specify the list of hardware types to load during service initialization. # Specify the list of hardware types to load during service initialization.
kolla_ironic_enabled_hardware_types: [] kolla_ironic_enabled_hardware_types:
# Specify the list of bios interfaces to load during service initialization. # Specify the list of bios interfaces to load during service initialization.
kolla_ironic_enabled_bios_interfaces: [] kolla_ironic_enabled_bios_interfaces:
# Default bios interface to be used for nodes that do not have bios_interface # Default bios interface to be used for nodes that do not have bios_interface
# field set. # field set.
kolla_ironic_default_bios_interface: kolla_ironic_default_bios_interface:
# Specify the list of boot interfaces to load during service initialization. # Specify the list of boot interfaces to load during service initialization.
kolla_ironic_enabled_boot_interfaces: [] kolla_ironic_enabled_boot_interfaces:
# Default boot interface to be used for nodes that do not have boot_interface # Default boot interface to be used for nodes that do not have boot_interface
# field set. # field set.
kolla_ironic_default_boot_interface: kolla_ironic_default_boot_interface:
# Specify the list of console interfaces to load during service initialization. # Specify the list of console interfaces to load during service initialization.
kolla_ironic_enabled_console_interfaces: [] kolla_ironic_enabled_console_interfaces:
# Default console interface to be used for nodes that do not have # Default console interface to be used for nodes that do not have
# console_interface field set. # console_interface field set.
kolla_ironic_default_console_interface: kolla_ironic_default_console_interface:
# Specify the list of deploy interfaces to load during service initialization. # Specify the list of deploy interfaces to load during service initialization.
kolla_ironic_enabled_deploy_interfaces: [] kolla_ironic_enabled_deploy_interfaces:
# Default deploy interface to be used for nodes that do not have # Default deploy interface to be used for nodes that do not have
# deploy_interface field set. # deploy_interface field set.
kolla_ironic_default_deploy_interface: kolla_ironic_default_deploy_interface:
# Specify the list of inspect interfaces to load during service initialization. # Specify the list of inspect interfaces to load during service initialization.
kolla_ironic_enabled_inspect_interfaces: [] kolla_ironic_enabled_inspect_interfaces:
# Default inspect interface to be used for nodes that do not have # Default inspect interface to be used for nodes that do not have
# inspect_interface field set. # inspect_interface field set.
@ -504,35 +497,35 @@ kolla_ironic_default_inspect_interface:
# Specify the list of management interfaces to load during service # Specify the list of management interfaces to load during service
# initialization. # initialization.
kolla_ironic_enabled_management_interfaces: [] kolla_ironic_enabled_management_interfaces:
# Default management interface to be used for nodes that do not have # Default management interface to be used for nodes that do not have
# management_interface field set. # management_interface field set.
kolla_ironic_default_management_interface: kolla_ironic_default_management_interface:
# Specify the list of network interfaces to load during service initialization. # Specify the list of network interfaces to load during service initialization.
kolla_ironic_enabled_network_interfaces: [] kolla_ironic_enabled_network_interfaces:
# Default network interface to be used for nodes that do not have # Default network interface to be used for nodes that do not have
# network_interface field set. # network_interface field set.
kolla_ironic_default_network_interface: kolla_ironic_default_network_interface:
# Specify the list of power interfaces to load during service initialization. # Specify the list of power interfaces to load during service initialization.
kolla_ironic_enabled_power_interfaces: [] kolla_ironic_enabled_power_interfaces:
# Default power interface to be used for nodes that do not have power_interface # Default power interface to be used for nodes that do not have power_interface
# field set. # field set.
kolla_ironic_default_power_interface: kolla_ironic_default_power_interface:
# Specify the list of raid interfaces to load during service initialization. # Specify the list of raid interfaces to load during service initialization.
kolla_ironic_enabled_raid_interfaces: [] kolla_ironic_enabled_raid_interfaces:
# Default raid interface to be used for nodes that do not have # Default raid interface to be used for nodes that do not have
# raid_interface field set. # raid_interface field set.
kolla_ironic_default_raid_interface: kolla_ironic_default_raid_interface:
# Specify the list of rescue interfaces to load during service initialization. # Specify the list of rescue interfaces to load during service initialization.
kolla_ironic_enabled_rescue_interfaces: [] kolla_ironic_enabled_rescue_interfaces:
# Default rescue interface to be used for nodes that do not have # Default rescue interface to be used for nodes that do not have
# rescue_interface field set. # rescue_interface field set.
@ -540,14 +533,14 @@ kolla_ironic_default_rescue_interface:
# Specify the list of storage interfaces to load during # Specify the list of storage interfaces to load during
# service initialization. # service initialization.
kolla_ironic_enabled_storage_interfaces: [] kolla_ironic_enabled_storage_interfaces:
# Default storage interface to be used for nodes that do not # Default storage interface to be used for nodes that do not
# have storage_interface field set. # have storage_interface field set.
kolla_ironic_default_storage_interface: kolla_ironic_default_storage_interface:
# Specify the list of vendor interfaces to load during service initialization. # Specify the list of vendor interfaces to load during service initialization.
kolla_ironic_enabled_vendor_interfaces: [] kolla_ironic_enabled_vendor_interfaces:
# Default vendor interface to be used for nodes that do not have # Default vendor interface to be used for nodes that do not have
# vendor_interface field set. # vendor_interface field set.

View File

@ -1,5 +1,7 @@
[DEFAULT] [DEFAULT]
{% if kolla_ironic_enabled_hardware_types %}
enabled_hardware_types: {{ kolla_ironic_enabled_hardware_types | join(',') }} enabled_hardware_types: {{ kolla_ironic_enabled_hardware_types | join(',') }}
{% endif %}
{# Add configuration of enabled and default dynamic driver interfaces. #} {# Add configuration of enabled and default dynamic driver interfaces. #}
{% set interfaces=['boot', 'bios', 'console', 'deploy', 'inspect', 'management', {% set interfaces=['boot', 'bios', 'console', 'deploy', 'inspect', 'management',

View File

@ -38,5 +38,17 @@ compute_libvirt_sasl_password: "{% raw %}{{ lookup('password', '/tmp/libvirt-sas
# Enable ironic for testing baremetal compute. # Enable ironic for testing baremetal compute.
kolla_enable_ironic: true kolla_enable_ironic: true
# TODO(mgoddard): Remove condition and contents when previous release is Epoxy.
# In Dalmatian we switched to the upstream ironic defaults for hardware
# interfaces, which does not enable the following interfaces.
{% if not is_previous_release | default(false) %}
kolla_ironic_enabled_console_interfaces:
- ipmitool-socat
- no-console
kolla_ironic_enabled_inspect_interfaces:
- inspector
- no-inspect
{% endif %}
# Disable heat to save disk space. # Disable heat to save disk space.
kolla_enable_heat: false kolla_enable_heat: false

View File

@ -0,0 +1,43 @@
---
upgrade:
- |
Kayobe no longer overrides the enabled and default Ironic hardware types
and interfaces. This ensures that changes to the default values in Ironic
are automatically adopted. These may still be customised via the existing
Kayobe variables in ``${KAYOBE_CONFIG_PATH}/ironic.yml``, e.g.
``kolla_ironic_enabled_hardware_types``.
The default configuration generated by Kayobe in Caracal was:
.. code-block:: ini
enabled_hardware_types = ipmi
enabled_bios_interfaces = no-bios
enabled_boot_interfaces = ipxe,pxe
enabled_console_interfaces = ipmitool-socat,no-console
enabled_inspect_interfaces = inspector,no-inspect
enabled_management_interfaces = ipmitool
enabled_network_interfaces = noop,flat,neutron
enabled_power_interfaces = ipmitool
enabled_raid_interfaces = agent,no-raid
enabled_rescue_interfaces = agent,no-rescue
enabled_vendor_interfaces = no-vendor
In Dalmatian, Ironic defaults are:
.. code-block:: ini
enabled_hardware_types = ipmi,redfish
enabled_bios_interfaces = no-bios,redfish
enabled_boot_interfaces = ipxe,pxe,redfish-virtual-media
enabled_console_interfaces = no-console
enabled_inspect_interfaces = no-inspect,redfish
enabled_management_interfaces = <determined by enabled hardware types>
enabled_network_interfaces = flat,noop
enabled_power_interfaces = <determined by enabled hardware types>
enabled_raid_interfaces = agent,no-raid,redfish
enabled_rescue_interfaces = no-rescue
enabled_vendor_interfaces = ipmitool,redfish,no-vendor
In particular, note that the ``neutron`` network interface is no longer
enabled by default.