Pike Series (8.0.0 - 9.1.x) Release Notes

9.1.7

Bug Fixes

  • Fixes an issue with a baremetal node that times out during cleaning. The ironic-conductor was attempting to change the node’s provision state to ‘clean failed’ twice, resulting in the node’s last_error being set incorrectly. This no longer happens. For more information, see story 2004299.

  • Fixes a bug where the number of CPU sockets was being returned by the idrac hardware type during introspection, instead of the number of virtual CPUs. See bug 2004155 for details.

  • Fixes an issue where the master instance image cache could not be disabled. The configuration option [pxe]/instance_master_path may now be set to the empty string to disable the cache.

9.1.6

Bug Fixes

  • Fixes an issue that caused the integrated Dell Remote Access Controller (iDRAC) management hardware interface implementation, idrac, to fail to boot nodes in Unified Extensible Firmware Interface (UEFI) boot mode. That interface is supported by the idrac hardware type. The issue is resolved for Dell EMC PowerEdge 13th and 14th generation servers. It is not resolved for PowerEdge 12th generation and earlier servers. For more information, see story 1656841.

  • Fixes an issue seen during node tear down where a port being deleted by the Bare Metal service could be deleted by the Compute service, leading to an unhandled error from the Networking service. See story 2002637 for further details.

9.1.5

Security Issues

  • Fixes an issue where an enabled console could be left running after a node was unprovisioned. This allowed a user to view the console even after the instance was gone. Ironic now stops the console during unprovisioning to block this.

Bug Fixes

  • Fixes a bug to get a node stuck in deploying state when the size of the configdrive exceeds the limitation of the database. In MySQL, the limitation is about 64KiB. With this fix, the provision state gets deploy failed in this case. See bug 1745630 for details.

  • Uses standard DHCP option codes instead of dnsmasq-specific option names, because different backends use different option names. This fixes the compatibility issues with neutron’s DHCP backends <https://bugs.launchpad.net/ironic/+bug/1717236>.

9.1.4

Bug Fixes

  • Fixes bug 1749755 causing timeouts to not work properly because an unsupported sqalchemy filter was being used.

  • When a conductor managing a node dies mid-cleaning the node would get stuck in the CLEANING state. Now upon conductor startup nodes in the CLEANING state will be moved to the CLEANFAIL state.

  • Fixes an issue with validation of Infiniband ports. Infiniband ports do not require the local_link_connection field to be populated as the network topology is discoverable by the Infiniband Subnet Manager. See bug 1753222 for details.

  • Adds [swift]/endpoint_override option to explicitly set the endpoint URL used for Swift. Ironic uses the Swift connection URL as a base for generation of some TempURLs. Added parameter enables operators to fix the problem when image is attached (via TempURL) as vmedia (e.g. in iLO driver) and BMC doesn’t have connectivity to public network. By default this parameter is not set for backward compatibility.

9.1.3

Security Issues

  • Sensitive information is now removed from a node’s driver_info and instance_info fields before sending it to the ramdisk during cleaning.

Bug Fixes

  • Adds missing no-vendor implementation to supported vendor interfaces of the idrac hardware type.

  • No longer validates requested root partition size for whole-disk images using iscsi deploy interface, see bug 1742451 for details.

9.1.2

Bug Fixes

  • Fixes a problem when using boot from volume with the pxe boot interface, now when booting the correct iscsi initiator is used. bug 1724275

  • Fixes an issue where an ironic-conductor service was deemed dead because the service could not report its heartbeat due to the database connection experiencing an unexpected failure. Full tracebacks of these exceptions are now logged, and if the database connection recovers in a reasonable amount of time the service will still be available. See https://bugs.launchpad.net/ironic/+bug/1696296.

  • Fixes a problem when using ipmitool and rebooting a node which would cause a deploy to fail. Now when rebooting a node we check if the node is already powered off, if it is we don’t attempt to power off the node. This is because some BMCs will error if the node is already powered off and an ipmitool request is made to power it off. See https://bugs.launchpad.net/ironic/+bug/1718794 for details.

9.1.1

Prelude

This release includes a fix for a major race condition: use the ironic-dbsync online_data_migrations command from this release. The one from older (9.0.0 - 9.1.0) releases could cause a a port’s physical_network information to be deleted from the database.

Upgrade Notes

  • Use the ironic-dbsync online_data_migrations command from this release. The one from older (9.0.0 - 9.1.0) releases could cause a a port’s physical_network information to be deleted from the database.

Critical Issues

  • Use the ironic-dbsync online_data_migrations command from this release. The one from older (9.0.0 - 9.1.0) releases could cause a a port’s physical_network information to be deleted from the database.

Bug Fixes

  • Fixes an issue when running ironic-dbsync online_data_migrations. The value of an object’s new version column might have been incorrectly changed from a newer object version to an older object version, due to a race condition. This is no longer the case.

  • Fixes an issue in boot from volume for iscsi deploy interface. Booting from a volume would fail for a node with the iscsi deploy interface because the pxelinux.cfg file for the MAC address wasn’t created and the node would fail to boot. The pxelinux.cfg file is now created. See bug 1714436 for details.

  • Fixes an issue in boot from volume for a node with the iscsi deploy interface. It would fail if no image_source was provided in the node’s instance_info field because it would try to validate the image_source which didn’t exist. There is no need to specify the image_source and the validation is no longer being attempted. See bug 1714147 for details.

9.1.0

Prelude

The 9.1.0 (Pike) release includes many new features and bug fixes.

Please review the “Upgrade Notes” sections (for 8.0.0, 9.0.0, 9.0.1, and 9.1.0) which describe the required actions to upgrade your installation from 7.0.x (Ocata) to 9.1.0 (Pike).

A few major changes are worth mentioning. This is not an exhaustive list, and mostly includes changes from 9.0.0:

New Features

  • Adds a new hardware type, idrac, for Dell EMC integrated Dell Remote Access Controllers (iDRAC). idrac hardware type supports PXE-based provisioning using an iDRAC. It supports the following driver interfaces:

    • boot: pxe

    • console: no-console

    • deploy: iscsi and direct

    • inspect: idrac, inspector, and no-inspect

    • management: idrac

    • network: flat, neutron, and noop

    • power: idrac

    • raid: idrac and no-raid

    • storage: noop and cinder

    • vendor: idrac

  • Adds support for the following Boolean capabilities keys to ilo inspect interface:

    • sriov_enabled

    • has_ssd

    • has_rotational

    • rotational_drive_4800_rpm

    • rotational_drive_5400_rpm

    • rotational_drive_7200_rpm

    • rotational_drive_10000_rpm

    • rotational_drive_15000_rpm

    • logical_raid_level_0

    • logical_raid_level_1

    • logical_raid_level_2

    • logical_raid_level_10

    • logical_raid_level_5

    • logical_raid_level_6

    • logical_raid_level_50

    • logical_raid_level_60

    • cpu_vt

    • hardware_supports_raid

    • has_nvme_ssd

    • nvdimm_n

    • logical_nvdimm_n

    • persistent_memory

  • Adds SNMP request timeout and retries settings for the SNMP UDP transport. Some SNMP devices take longer than others to respond. The new Ironic configuration settings [snmp]/udp_transport_retries and [snmp]/udp_transport_timeout allow to change the number of retries and the timeout values respectively for the the SNMP driver.

Upgrade Notes

  • Updates required proliantutils version for iLO drivers to 2.4.0. This version of the library comes with quite a few features:

    • Adds support for Gen10 servers using Redfish protocol.

    • Provides support for one-pass disk erase using HPE SSA CLI through Proliant hardware manager in IPA.

    • local_gb defaults to 0 (zero) when no disk could be discovered during inspection.

Bug Fixes

  • Fixes an issue that caused a node using a Dell EMC integrated Dell Remote Access Controller (iDRAC) classic driver, pxe_drac or pxe_drac_inspector, to be placed in the clean failed state after a double manage/provide cycle, instead of the available state. For more information, see bug 1676387.

9.0.1

Prelude

The 9.0.1 release is an intermediary Pike release; it should be used instead of the intermediary 9.0.0 release, since 9.0.1 passes all the ironic CI tests.

Upgrade Notes

  • Adds ‘9.0’ and ‘pike’ as choices for the configuration option [default]/pin_release_version. This addresses failures with the unit and grenade tests.

9.0.0

New Features

  • Adds two new hardware types to support Cisco UCS Servers, cisco-ucs-standalone and cisco-ucs-managed. cisco-ucs-standalone supports driver interfaces for controlling UCS servers in standalone mode via either CIMC APIs or via IPMI. cisco-ucs-managed is a superset of cisco-ucs-standalone and supports additional driver interfaces for controlling the UCS server via UCSM.

    To support these hardware types the following Ironic driver interfaces were made available to be configured on a node:

    • node.power_interface can be set to:

      • cimc for CIMC API power control (power on/off, reboot, etc.)

      • ucsm for UCSM API power control (power on/off, reboot, etc.)

    • node.management_interface can be set to:

      • cimc for CIMC API management control (setting the boot device, etc.)

      • ucsm for UCSM API management control (setting the boot device, etc.)

  • Adds support for generating Guru Meditation Reports (GMR) for both ironic-api and ironic-conductor services. GMR provides debugging information that can be used to obtain an accurate view on the current state of the system. For example, what threads are running, what configuration parameters are in effect, and more.

  • Adds support to provision an instance in UEFI secure boot for irmc-pxe boot interface.

  • Adds support for the Redfish standard via a new redfish hardware type. (There is no equivalent “classic” driver for this.) It uses two new interfaces:

    • redfish power interface supports all hard and soft power operations

    • redfish management interface supports:

      • getting and setting the boot device (PXE, disk, CD-ROM or BIOS)

      • making the configured boot device persistent or not

      • injecting NMI

  • Allows updating hardware interfaces on nodes in the available state.

  • New configuration option [DEFAULT]/ldlinux_32 can be used to set the location of the ldlinux.c32 file (from the syslinux package). The default behavior is to look for it in the following locations:

    • /usr/lib/syslinux/modules/bios/ldlinux.c32

    • /usr/share/syslinux/ldlinux.c32

  • Adds support for storing the configdrive in Ceph Object Gateway (radosgw) instead of the OpenStack Object service (swift) using the compatible API.

  • Adds support to use the radosgw authentication mechanism that relies on a user name and a password instead of an authentication token. The following options must be specified in ironic configuration file:

    • [swift]/auth_url

    • [swift]/username

    • [swift]/password

  • Adds a boolean flag called force_persistent_boot_device into a node’s driver_info to enable persistent behavior when you set the boot device during deploy and cleaning operations. This flag will override a non-persistent behavior in the cleaning and deploy process. For more information, see https://bugs.launchpad.net/ironic/+bug/1703945.

  • Adds a new hardware type ilo for iLO 4 based Proliant Gen 8 and Gen 9 servers. This hardware type supports virtual media and PXE based boot using HPE iLO 4 management engine. The following driver interfaces are supported:

    • 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, noop and neutron

    • power: ilo

    • raid: no-raid and agent

  • The ipmi hardware type now supports ipmitool vendor interface (similar to classic ipmitool drivers).

  • Adds new boot interface named irmc-pxe for PXE booting FUJITSU PRIMERGY servers.

  • Adds clean step restore_irmc_bios_config to restore BIOS config for a node with an irmc-based driver during automatic cleaning.

  • Adds support for booting from remote volumes via the irmc-virtual-media boot interface. It enables boot configuration for iSCSI or FibreChannel via out-of-band network. For details, see the iRMC driver documentation.

  • Adds configuration option [console]terminal_timeout to allow setting the time (in seconds) of inactivity, after which a socat-based console terminates.

  • Adds version 1.33 of the REST API, which exposes the storage_interface field of the node resource. This version also exposes default_storage_interface and enable_storage_interfaces fields of the driver resource.

    There are 2 available storage interfaces:

    • noop: This interface provides nothing regarding storage.

    • cinder: This interface enables a node to attach and detach volumes by leveraging cinder API.

    A storage interface can be set when creating or updating a node. Enabled storage interfaces are defined via the [DEFAULT]/enabled_storage_interfaces configuration option. A default interface for a created node can be specified with [DEFAULT]/default_storage_interface configuration option.

  • Adds storage_interface field to the node-related notifications:

    • baremetal.node.create.* (new payload version 1.2)

    • baremetal.node.update.* (new payload version 1.2)

    • baremetal.node.delete.* (new payload version 1.2)

    • baremetal.node.maintenance.* (new payload version 1.4)

    • baremetal.node.console.* (new payload version 1.4)

    • baremetal.node.power_set.* (new payload version 1.4)

    • baremetal.node.power_state_corrected.* (new payload version 1.4)

    • baremetal.node.provision_set.* (new payload version 1.4)

  • The OneView drivers now retain the next boot device in node’s internal info when setting a boot device is requested. It is applied on the node when it is power cycled.

  • Adds a new hardware type oneview for HPE OneView supported servers. This hardware type supports the following driver interfaces:

    • boot: pxe

    • console: no-console

    • deploy: oneview-direct and oneview-iscsi (based on “direct” and “iscsi” respectively)

    • inspect: oneview and no-inspect

    • management: oneview

    • network: flat, neutron and no-op

    • power: oneview

    • raid: no-raid and agent

  • Port group information (mode and properties fields) is now passed to Neutron via the port’s binding:profile field. This allows an ML2 driver to configure the port bonding automatically.

  • Adds a physical_network field to the port object in REST API version 1.34.

    This field specifies the name of the physical network to which the port is connected, and is empty by default. This field may be set by the operator to allow the Bare Metal service to incorporate physical network information when attaching virtual interfaces (VIFs).

    The REST API endpoints related to ports provide support for the physical_network field. The multi-tenancy documentation provides information on how to configure and use physical networks.

  • Adds a new hardware type snmp for SNMP powered systems. It supports the following driver interfaces:

    • boot: pxe

    • deploy: iscsi, direct

    • power: snmp

    • management: fake

  • Adds new configuration option [console]/socat_address to set the binding address for socat-based console. The default is the value of the [DEFAULT]my_ip option of the conductor responsible for the node.

  • Adds support for volume connectors and volume targets with new API endpoints /v1/volume/connectors and /v1/volume/targets. These endpoints are available with API version 1.32 or later. These new resources are used to connect a node to a volume. A volume connector represents connector information of a node such as an iSCSI initiator. A volume target provides volume information such as an iSCSI target. These endpoints are available:

    • GET /v1/volume/connectors for listing volume connectors

    • POST /v1/volume/connectors for creating a volume connector

    • GET /v1/volume/connectors/<UUID> for showing a volume connector

    • PATCH /v1/volume/connectors/<UUID> for updating a volume connector

    • DELETE /v1/volume/connectors/<UUID> for deleting a volume connector

    • GET /v1/volume/targets for listing volume targets

    • POST /v1/volume/targets for creating a volume target

    • GET /v1/volume/targets/<UUID> for showing a volume target

    • PATCH /v1/volume/targets/<UUID> for updating a volume target

    • DELETE /v1/volume/targets/<UUID> for deleting a volume target

    The Volume resources also can be listed as sub resources of nodes:

    • GET /v1/nodes/<node>/volume/connectors

    • GET /v1/nodes/<node>/volume/targets

    Root endpoints of volume resources are also added. These endpoints provide links to volume connectors and volume targets:

    • GET /v1/volume

    • GET /v1/node/<node>/volume

    When a volume connector or a volume target is created, updated, or deleted, these CRUD notifications can be emitted:

    • baremetal.volumeconnector.create.start

    • baremetal.volumeconnector.create.end

    • baremetal.volumeconnector.create.error

    • baremetal.volumeconnector.update.start

    • baremetal.volumeconnector.update.end

    • baremetal.volumeconnector.update.error

    • baremetal.volumeconnector.delete.start

    • baremetal.volumeconnector.delete.end

    • baremetal.volumeconnector.delete.error

    • baremetal.volumetarget.create.start

    • baremetal.volumetarget.create.end

    • baremetal.volumetarget.create.error

    • baremetal.volumetarget.update.start

    • baremetal.volumetarget.update.end

    • baremetal.volumetarget.update.error

    • baremetal.volumetarget.delete.start

    • baremetal.volumetarget.delete.end

    • baremetal.volumetarget.delete.error

Known Issues

  • The restore_irmc_bios_config clean step does not work for nodes using the pxe boot interface with the irmc hardware type. The irmc-pxe boot interface has to be used instead.

Upgrade Notes

  • Due to bug 1702158, the conductor_hardware_interfaces table could be created with MyISAM database engine, while all other tables in ironic database are using InnoDB engine. This could happen during initial installation, or upgrade to the Ocata release, if the system was using MySQL prior to version 5.5 or the default_storage_engine option was set explicitly to ‘MyISAM’ in my.cnf. If this is the case, the conductor_hardware_interfaces table needs to be manually migrated to InnoDB, and the foreign key constraint needs to be re-created:

    alter table conductor_hardware_interfaces engine='InnoDB';
    alter table conductor_hardware_interfaces
      add constraint conductor_hardware_interfaces_ibfk_1
      foreign key (conductor_id) references conductors(id);
    
  • Changes timestamp part of ramdisk log filename by replacing colon with dash. The tar command does not handle colon properly, and untar of the file with colon in filename will fail.

  • Adds the [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.

  • The new ironic-dbsync online_data_migrations command should be run after each upgrade to ensure all DB records are converted to the newest format. It must be run before starting the software as part of a new upgrade to the next named release. For more information about this command, see https://docs.openstack.org/ironic/latest/cli/ironic-dbsync.html.

  • The configuration option [glance]glance_host is now empty by default. If neither it nor [glance]glance_api_servers are provided, ironic will now try fetching the Image service endpoint from the service catalog.

  • Adds new configuration option [irmc]clean_priority_restore_irmc_bios_config, which enables setting priority for the restore_irmc_bios_config clean step. The default value for this option is 0, which means the clean step is disabled.

  • 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 services:

    • glance

    • neutron

    • swift

    • inspector

    • service_catalog

  • SSH-based power and management driver interfaces were removed from ironic. The drivers pxe_ssh, agent_ssh and fake_ssh are no longer available. Operators are required to ensure that these drivers are not used or enabled (in [DEFAULT]enabled_drivers configuration file option) in their ironic installation before upgrade.

  • Following an upgrade to this release, all ports will have an empty physical_network field. Attachment of Virtual Interfaces (VIFs) will continue to function as in the previous release until any ports have their physical network field set.

    During a live upgrade to this release, the physical_network field will not be available. It will also not be possible to create ports which are members of a port group during a live upgrade, as the API service will be unable to validate the consistency of the request.

  • 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.

  • 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.

  • Changing the resource_class field of a node in the active state or any of the transient states is no longer possible. Please update your scripts to only set a resource class for nodes that are not deployed to. Setting a resource class for nodes that do not have it is still possible.

  • Due to upcoming changes in the way Nova schedules bare metal nodes, all nodes in a deployment using Nova have to get the resource_class field populated before the upgrade. See enrollment documentation and flavor configuration documentation for details.

    Once you’ve migrated your flavors to resource classes, you should unset the deprecated use_baremetal_filters option in the Compute service configuration. Otherwise you’ll be using the filters incompatible with scheduling based on resource classes.

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.

  • Configuration option [ipmi]/retry_timeout is deprecated in favor of these new options:

    • [ipmi]/command_retry_timeout: timeout value to wait for an IPMI command to complete (be acknowledged by the baremetal node)

    • [conductor]/power_state_change_timeout: timeout value to wait for a power operation to complete, so that the baremetal node is in the desired new power state

  • The configuration options [glance]glance_host, [glance]glance_port and [glance]glance_protocol are deprecated in favor of either using [glance]glance_api_servers or using the service catalog.

  • The use of the pxe boot interface with the irmc hardware type has been deprecated. It is recommended to switch to the new irmc-pxe boot interface as soon as possible.

Security Issues

  • OSProfiler support requires passing of trace information between various OpenStack services. This information is securely signed by one of the HMAC keys, defined in the ironic.conf configuration file. To allow cross-project tracing, the same key should be used for all OpenStack services.

Bug Fixes

  • Fixes netboot with virtual media boot in an environment using syslinux 5.00 or later, such as Ubuntu 16.04. It was broken by a change in the location of the ldlinux.c32 file.

  • Fixes database schema that could cause the wrong database engine to be utilized for the conductor_hardware_interfaces table, if the system is using MySQL prior to version 5.5 or the default_storage_engine option is set explicitly to ‘MyISAM’ in my.cnf. In this case, a table could be created with MyISAM engine, and the foreign key constraint conductor_id(conductors.id) was ignored. See bug 1702158 for details.

  • Changes timestamp part of ramdisk log filename by replacing colon with dash. The tar command does not handle colon properly, and untar of the file with colon in filename will fail.

  • Fixes bug 1691808 causing RAID creation/deletion to frequently fail when using the iDRAC driver due to an Export Configuration job running. The fix requires the python-dracclient library of version 1.3.0 or higher.

  • Prevents the IPMI driver from needlessly checking status of the baremetal node if a power change action fails. Additionally, stops retrying power actions and power status polls on receipt of a non-retryable error from ipmitool. For more information, see bug 1675529.

    A new configuration option [conductor]/power_state_change_timeout can be used to specify how many seconds to wait for a baremetal node to change the power state when a power action is requested.

  • 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. Introduces a new configuration option [pxe]/dir_permission to specify the permission for the tftpboot directories to be created with.

  • Fix handling of whole disk images with disk identifier 0x00000000. Instances failed to boot as the identifier in the boot config was overwritten during config drive creation. See bug 1685093.

  • When the deletion of a swift temporary object fails because the object is no longer available in swift, a message is logged. The log level of this message was changed from WARNING to INFO.

  • Fixes a multi-region issue where the region specified in the configuration file was ignored when getting the Identity service’s (keystone) URL.

  • Fixes an issue with the ‘noop’ network interface where listing the VIFs for a node fails with a HTTP 500 Internal Server Error.

  • Shutdown of conductor process should take less time, as we do not wait for completion of all periodic tasks.

  • DEBUG-level logging from the oslo.messaging library is no longer displayed by default.

  • Fixes an issue where some internal information for a node was not being saved to the database. See bug 1679297 for details.

  • Fixes a bug which caused boot device changes to be persistent in places where they did not need to be during cleaning and deployment phases, due to the default behavior of PXE interface forcing a persistent change. For more information, see bug 1701721.

  • Raises HTTP 400 Bad Request (instead of HTTP 500 Internal Server) error on failure to validate power or inspect interface parameters before performing a hardware inspection.

  • No longer allows changing the resource_class field for active nodes if it was already set to a non-empty value. Doing so would break the Compute scheduler.

  • 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).

  • The method build_instance_info_for_deploy() from the ironic.drivers.modules.agent module was deprecated in the Ocata cycle (version 7.0.0). It is no longer available. Please use the method build_instance_info_for_deploy() from the ironic.drivers.modules.deploy_utils module instead.

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.