Newton Series Release Notes


New Features

  • Add the ability to specify a name string for the provisioning_network in ironic_config using the transform_to argument. Add cleaning_network_name and provisioning_network_name options to ::ironic::conductor class. Theirs names will be automatically converted to UUIDs and appropriate config options will be set.

  • Add port_setup_delay parameter to ::ironic::conductor class. Defines delay value to wait for Neutron agents to setup sufficient DHCP configuration.

  • added class for network interfaces management

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

  • Passes parameter to keystone authtoken define to manage python-memcache package install.


Bug Fixes

  • Remove “dhcp” command from the introspection iPXE script. It is redundant, and may even break booting when the provisioning NIC is not the first one.


New Features

  • Add hooks for external install & svc management This adds defined anchor points for external modules to hook into the software install, config and service dependency chain. This allows external modules to manage software installation (virtualenv, containers, etc) and service management (pacemaker) without needing rely on resources that may change or be renamed.


New Features

  • Add new manifest “ironic::drivers::agent” for configuring IPA-related configuration options. Currently contains options for storing ramdisk logs, for streaming raw images and configuring timeout for soft power off after deployment.

  • Add new options “configdrive_use_swift” and “configdrive_swift_container” in the “ironic::conductor” manifest to configure storing config drives in Swift instead of the database.

  • The default pxe_bootfile_name and pxe_config_template are now detected based on ipxe_enabled instead of hardcoding TFTP values.

  • Add new manifest “ironic::drivers::ilo” for configuring parameters related to Ironic iLO drivers.

  • Add new manifest “ironic::drivers::drac” for configuring parameters related to Ironic DRAC drivers.

  • Introduced ironic::pxe class to fully setup tftpboot and httpboot for Ironic and ironic::pxe::common to allow global overrides of options shared among standalone classes ironic::inspector, ironic::pxe and ironic::drivers::pxe.

  • Allow configuring Swift temporary URL parameters for fetching images from Glance. Required for certain drivers.

Upgrade Notes

  • The ironic::inspector class will no longer provide tftp_root and http_root paths. These are provided by ironic::pxe class and the inclusion of this class will be removed after Newton cycle. Either create tftp_root and http_root or include ironic::pxe for full PXE setup.

Deprecation Notes

  • Deprecated ironic::drivers::deploy manifest, use parameters from ironic::conductor instead.

  • The following options from ironic::drivers::pxe do not do anything and are deprecated: “deploy_kernel”, “deploy_ramdisk”, “pxe_deploy_timeout”.

  • The “enabled_drivers” option was moved to “ironic::conductor” manifest.


New Features

  • Configure keystonemiddleware in a consistent way with all options required for Keystone v3.

  • Add new option ironic::conductor::cleaning_disk_erase for tweaking how Ironic erases hard drive during cleaning. Possible values:

    • full - erase all data on all hard drives using either ATA secure erase or shred utility.

    • metadata - erase only disk metadata on all hard drives, leaving data intact.

    • none - do not erase anything (only use it if you have other means of erasing hard drives in place).

  • Add new option ironic::conductor::continue_if_disk_secure_erase_fails which defines whether ironic should fall back to shred utility if ATA secure erase is available, but fails in the process.

  • Manage ironic-lib package, called python-ironic-lib. Also make sure the packages notify Ironic services to facilitate upgrade orchestration.

  • allows configuring CORS settings.

  • Allow to configure ssh section in Ironic configuration.

Deprecation Notes

  • ironic::api|inspector::admin_tenant_name is deprecated in favor of ironic::api|inspector::authtoken::project_name.

  • ironic::api|inspector::admin_user is deprecated in favor of ironic::api|inspector::authtoken::username.

  • ironic::api|inspector::admin_password is deprecated in favor of ironic::api|inspector::authtoken::password.

  • ironic::api|inspector::identity_uri is deprecated in favor of ironic::api|inspector::authtoken::auth_uri.

  • ironic::api|inspector::auth_uri is deprecated in favor of ironic::api|inspector::authtoken::auth_uri.

  • ironic::api::memcached_servers is deprecated in favor of ironic::api::authtoken::memcached_servers.


New Features

  • Stop managing /etc/ironic and /etc/ironic/ironic.conf since they should already be managed by packaging.

Bug Fixes

  • The keystone auth class has been updated to provide a default service_name to allow a user to specify a custom auth_name that may not contain the name of the service.

  • Added the ability to manage the memcached servers for keystone_authtoken in ironic::api


New Features

  • Add support for oslo_messaging_amqp backend via puppet-oslo resource

  • Add oslo.messaging transport_url parameter via puppet-oslo resource

  • Add api_paste type/provider.

  • Allow to deploy Ironic API in WSGI with Apache.

  • Allow to configure Ironic deploy_utils with ironic::drivers::deploy class.

  • Use dnsmasq dhcp-sequential-ip flag in dnsmasq.conf Introspection naturally happens in large bulks, after which it’s inactive. Small pool for DHCP addresses means that we’ll have conflicts due to how dnsmasq distributes them by default - using hashing. This change tells dnsmasq to allocate IP addresses sequentially instead to avoid these conflicts. The drawback of this option is that long-running clients may switch IP addresses if their lease expires. This is not a concern for short introspection process.

  • Allow sending random kernel arguments to the IPA. IPA accepts plenty of kernel arguments, adding all them explicitly may be not practical. New option ramdisk_kernel_args allows to set a string to append to the kernel command line when booting IPA. One of the use-cases is ipa-inspection-benchmarks option, enabling benchmarking during inspection.

  • Allow changing list of processing hooks. Processing hooks are ironic-inspector plugins for the data processing pipeline. This change enables appending new hooks to the default list.

  • Specify SELinux type context for tftp dir. We create a /tftpboot/ dir in the root directory without specifying a SELinux type context, so it gets default_t. The tftp process is not allowed read permission on default_t, and as a result the ironic-inspector-dnsmasq service fails to start. The fix is to specify a type context of tftpdir_t when creating the /tftpboot/ directory. This feature pulls the /tftpboot/ directory out of the if block relating only to tftp configuration. The /tftpboot/ directory is also used by iPXE/http for the undionly.kpxe chainloading image.

  • Enable changing list of inspection collectors. Inspection collectors are IPA plugins that collect additional information for inspection. This feature allow changing their list, with default remaining the same (for now).

  • Allow to create Keystone resources to deploy Ironic Inspector, like service, endpoints, etc.

  • Create a separate class for configuring logging.

  • Support of PyMySQL driver for MySQL backend.

  • Use oslo module for messaging (rabbit), db and logging configuration. Messaging related parameters were switched to $::os_service_default. Docs string for parameter were updated according to oslo module.

  • Release notes are no longer maintained by hand, we now use the reno tool to manage them.

Deprecation Notes

  • cluster_id parameter is deprecated.

  • Use identity_uri and auth_uri by default and remove old deprecated auth parameters.

  • Remove QPID messaging support. Qpid messaging driver is removed from oslo.messaging so we won’t support anymore.

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

Other Notes

  • Drop all Qpid support, it was removed from Oslo in Mitaka.

  • Removed deprecated options for ironic::keystone::auth class.