Queens Series Release Notes


New Features

  • The parameter ironic::pxe::ipxe_name_base has been added, which allows alternative ipxe files to be copied to /tftpboot/ipxe.efi. For example, setting this to ‘ipxe-snponly’ on CentOS8 would result in the source file being /usr/share/ipxe/ipxe-snponly-x86_64.efi.

  • Add openstack-db tag to Exec that run db-sync.

  • Expose the sync_power_state_interval and power_state_sync_max_retries parametes in ironic::conductor.

Bug Fixes

  • It was not possible to configre Ironic Inspector DHCP (dnsmasq) service to provide the MTU option. This caused inspection to fail when operating on a network with <1500 bytes MTU. See bug: 1845487.

  • In order to allow the ironic inspector dnsmasq service to receive packets after the network service is restarted, the bind-interfaces option should not be set. Since the ironic inspector is bound to the br-ctlplane interface, its not necessary to set this field as this dnsmasq instance will only service this interface.

    From the dnsmasq man page:

    -z, –bind-interfaces On systems which support it, dnsmasq binds the wildcard address, even when it is listening on only some interfaces. It then discards requests that it shouldn’t reply to. This has the advantage of working even when interfaces come and go and change address. This option forces dnsmasq to really bind only the interfaces it is listening on. About the only time when this is useful is when running another nameserver (or another instance of dnsmasq) on the same machine. Setting this option also enables multiple instances of dnsmasq which provide DHCP service to run in the same machine.

    We do run another dnsmasq instance for neutron but that is bound to the tap interface in the namespace.

  • Fixes default configuration where only a single concurrent thread was permitted per WSGI worker process, which does not match the upstream configuration where threads are enabled per each spawned worker process. This allows for greater request concurrency to prevent situations where the webserver may incorrectly return a 500 error due to the server being unable to process the request in time.


New Features

  • Adds ironic::inspector::always_store_ramdisk_logs parameter.

  • Adds support for the dnsmasq PXE filter driver in ironic-inspector.

  • Supports configuring rescue mode:

    • Adds support for default_rescue_interface and enabled_rescue_interfaces to ironic::drivers::interfaces.

    • Adds support for configuring rescue network via rescuing_network or rescuing_network_name in ironic::conductor.


New Features

  • Adds the kombu_failover_strategy option for configuring oslo.messaging.rabbit. This will determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable.


New Features

  • Adds the use_journal option for configuring oslo.log. This will enable passing the logs to journald.

  • Allow configuring the defaults for the ansible deploy interface via new parameters default_username, default_key_file, default_deploy_playbook, default_shutdown_playbook, default_clean_playbook and default_clean_steps_config in the ironic::drivers::ansible manifest.

  • Add new parameter ironic::db::online_data_migrations::migration_params to allow passing arguments to migration themselves (extra_params passes arguments to the ironic-dbsync command itself and cannot be used to tune migrations).

  • Exposes swift_container and swift_endpoint_url in the ironic::glance manifest. The latter is required for ansible and direct deploy interfaces.

  • New option “tftp_bind_host” added to specify IP address TFTP will bind too

Bug Fixes

  • The ironic::drivers::ansible manifest now installs dependencies of the ansible deploy method - ansible and systemd-python packages.


New Features

  • Added manifest ironic::drivers::ansible to configure the new ansible deploy interface.

  • Adds support for setting the default_resource_class option.

  • Allow setting value for the inspector timeout

  • Expose use_json logging parameter, which enables JSON formatted logging.

  • Add support for installing the ironic-staging-drivers package via the new ironic::drivers::staging manifest.

Deprecation Notes

  • ipmi/retry_timeout is now deprecated in favour of ipmi/command_retry_timeout

Bug Fixes

  • Fixes ownership of /var/log/ironic/ironic-dbsync.log before trying to run ironic-dbsync. This file was owned by root previously.


New Features

  • Add support for DHCP client arch 11 to detect an aarch64 uefi host.

  • Allow skipping installation of syslinux. UEFI exclusive archiectures do not have syslinux support.

  • It is now possible to configure the access log (through the access_log_file and access_log_format variables) and the error log file path (through the error_log_file variable) in the apache vhost.

  • When inspector::debug is set to true, DHCP queries and responses will be logged by the ironic-inspector dnsmasq services.

  • Add parameter to apache_wsgi to allow overwrite and/or add additional wsgi process options.

Known Issues

  • Keystone v2.0 API was removed so we need to set a default value for user_domain_name and project_domain name, which will be Default as it is already in some other classes in modules.

Upgrade Notes

  • The deprecated parameter inspector::enable_setting_ipmi_credentials was removed. This feature was already removed from ironic-inspector.

  • Removed support for setting options related to the SSH drivers. These drivers were removed from Ironic in the Pike release.

Deprecation Notes

  • revocation_cache_time option is now deprecated for removal, the parameter has no effect.

Bug Fixes

  • It is now possible to pass empty strings to the log_dir option. This enables logging to stdout/stderr.

  • Increase the Inspector DHCP lease time that is provide by dnsmasq to 10 minutes. A shorter lease time may cause the provided IP address to expire and IPA may not add the address to the introspection report.