Current Series Release Notes

8.0.0-146

New Features

  • Adds support to generate Guru Meditation Reports(GMR) for both ironic-api and ironic-conductor services. GMR provides useful debugging information that can be used to obtain an accurate view on the current live state of the system. For example, what threads are running, what configuration parameters are in effect, and more.
  • Adds support for Redfish with:
    • redfish hardware type
    • redfish power interface that provides hard power [on, off, reboot] and soft power [off, reboot]
    • redfish management interface to set the boot device (PXE, disk, cd-rom and bios) and its frequency (persistent or not); and NMI injection SSL authentication
  • Adds support for storing the configdrive in radosgw using the swift API.
  • Adds support to use the radosgw authentication mechanism that relies on username and password instead of auth token. The following options must be specified in ironic configuration file:

    • [swift]/auth_url
    • [swift]/username
    • [swift]/password
  • Adds a new hardware type ilo for iLO 4 based Proliant Gen 8 and Gen 9 servers. ilo hardware type will support virtual media and PXE based provisioning using HPE iLO 4 management engine. It supports the following driver interfaces:
    • boot: ilo-virtual-media and ilo-pxe
    • console: ilo and no-console
    • deploy: iscsi and direct
    • inspect: ilo, inspector and no-inspect
    • management: ilo
    • network: flat, no-op and neutron
    • power: ilo
    • raid: no-raid and agent
  • The ipmi hardware type now supports ipmitool vendor interface (similar to classic ipmitool drivers).

Upgrade Notes

  • Adds a [deploy]/object_store_endpoint_type option to specify the type of endpoint to use for instance images and configdrive storage. Allowed values are ‘swift’ or ‘radosgw’. The default is ‘swift’.
  • Moves port creation logic from the API service to the conductor service. This is more consistent with port update operations and opens opportunities for conductor-side validations on ports. However, with this change, port creation may take longer, and this may limit the number of ports that can be created in parallel.
  • Ironic no longer falls back to loading authentication configuration options for accessing other services from the [keystone_authtoken] section. As a result, the following configuration sections now must contain proper authentication options for appropriate service:

    • glance
    • neutron
    • swift
    • inspector
    • service_catalog
  • The pre-allocation model for OneView drivers was deprecated in Newton cycle (Ironic 6.1.0) and all pertaining code was marked for removal during Pike cycle. From now on, OneView drivers works only with dynamic allocation model.
  • The method build_instance_info_for_deploy() from ironic.drivers.modules.agent was deprecated in Ocata cycle (7.0.0). It is no longer supported. Please use the method build_instance_info_for_deploy() from ironic.drivers.modules.deploy_utils instead.
  • Removes the deprecated DHCP provider method update_port_address. For users who created their own network interfaces or DHCP providers the logic should be moved to a custom network interface’s port_changed and portgroup_changed methods. The following methods should be implemented by custom network interfaces:
    • vif_list: List attached VIF IDs for a node.
    • vif_attach: Attach a virtual network interface to a node.
    • vif_detach: Detach a virtual network interface from a node.
    • port_changed: Handle any actions required when a port
      changes.
    • portgroup_changed: Handle any actions required when a port group changes.
    • get_current_vif: Return VIF ID attached to port or port group object.
  • The configuration option [ilo]/clean_priority_erase_devices was deprecated in the Newton cycle (6.1.0). It is no longer supported. Please use the option [deploy]/erase_devices_priority instead.

Deprecation Notes

  • The [conductor]/configdrive_use_swift and [glance]/temp_url_endpoint_type options are deprecated and will be removed in the Queens release. Use [deploy]/configdrive_use_object_store and [deploy]/object_store_endpoint_type respectively instead.
  • Support for the elilo boot loader has been deprecated and will be removed in the Queens release cycle. The elilo boot loader has been orphaned as a project and dropped from the majority of Linux distributions. Please switch to the grub2 boot loader.

Bug Fixes

  • Fixes issue where RAID creation/deletion done as part of out-of-band cleaning would frequently fail when using the iDRAC driver due to Export Configuration job running. For more information, see https://bugs.launchpad.net/ironic/+bug/1691808. Note that this fix requires python-dracclient version 1.2.0 or higher.
  • Adds the capability for an operator to explicitly define the permission for created tftpboot folders. This provides the ability for ironic to be utilized with a restrictive umask, where the tftp server may not be able to read the file. Introduced a new config option [pxe]/dir_permission to specify the permission for the tftpboot directories to be created with.
  • Fixes multi-region issue when region specified in config file was ignored when getting keystone service url.
  • Fixes an issue where oslo.messaging DEBUG logs were being logged when, by default, they shouldn’t have been.
  • Fixes an issue where some internal information for a node was not being saved to the database.
  • Adds validation of snmp_outlet parameter to SNMP driver.
  • When returning lists of nodes, port groups, or ports, checks the sort key to make sure the field is available in the requested API version. A 406 (Not Acceptable) HTTP status is returned if the field is not available.

Other Notes

  • Adds a configuration section cinder and a requirement of cinder client (python-cinderclient).
  • Adds configuration parameter terminal_timeout to section [console] to allow operators to set the timeout value for the Socat console session. It is time of client inactivity, in seconds, after which the connection will be closed.

8.0.0

New Features

  • Adds possibility to attach/detach VIFs to/from active nodes.
  • Adds notifications for creation, updates, or deletions of port groups. Event types are formatted as follows:

    • baremetal.portgroup.{create, update, delete}.{start,end,error}

    Also adds portgroup_uuid field to port notifications, port payload version bumped to 1.1.

Upgrade Notes

  • All DB API methods doing database writes now retry on deadlock. The [database]db_max_retries configuration option specifies the maximum number of times to retry, and can be customised if necessary.
  • The agent_pyghmi, pxe_ipminative, and fake_ipminative drivers have all been removed from ironic due to lack of testing. Nodes using these drivers should be changed to the agent_ipmitool or pxe_ipmitool driver.
  • Removes old messaging transport aliases. These are listed below with the new value that should be used.
    • ironic.rpc.impl_kombu -> rabbit
    • ironic.rpc.impl_qpid -> qpid
    • ironic.rpc.impl_zmq -> zmq
  • Updates required proliantutils version for iLO drivers to 2.2.1. This version has support for HPSUM firmware update and matches requirements to meet global-requirements.

Deprecation Notes

  • Support for the Image service v1 API has been deprecated along with the [glance]/glance_api_version configuration option and will be removed in the Queens release.

Bug Fixes

  • Fixes an issue with requests to the ironic API service sometimes timing out when running under Apache. This was due to mixing two concurrency models (for handling multiple threads).
  • Fixed a bug that was causing an increase in CPU usage over time.
  • An issue with hung iscsi sessions not being cleaned up in case of deploy failure.
  • Fixes an issue wherein agent based deploy do not call clean up the instance related configurations done on the Ironic node.
  • Fixes an issue with oneview driver trying to deallocate a node when an error is encountered while performing server profile application. Also ensures only those nodes that are managed by ironic can be deallocated.
  • Fixes issue with socat console support where an unlimited number of connections could be created, resulting in the prior session being destroyed. Connections are now limited to a single connection per server. Socat now closes the console connection upon disconnect or timeout 10min. To reconnect, users should re-activate the console.
  • Fixes failure to update a node’s driver from a hardware type to a classic driver.