OpenStack Ironic: Mitaka

What's New in OpenStack Ironic Mitaka Release


Dmitry Tantsur


  1. Intro
  2. Mitaka highlights
  3. Plans for the future
  4. Questions

About Ironic

Ironic is an OpenStack project which provisions bare metal (as opposed to virtual) machines by leveraging common technologies such as PXE boot and IPMI to cover a wide range of hardware, while supporting pluggable drivers to allow vendor-specific functionality to be added.

Ironic in RDO


The main API service for Ironic.


The service doing most of the actual baremetal management work.


The CLI and Python client liberty for Ironic API.


A separate service for conducting hardware introspection.


CLI and Python library for the hardware introspection API.


The service to be run on the Ironic deployment and introspection ramdisk.

This package MUST NOT be installed outside of the ramdisk.

Big Things

Manual cleaning

New process and set of node states to apply long-running pre-deployment actions, such as

  • Building RAID
  • Updating firmware
  • Running validations

Possible steps are defined by a driver.

Actual steps to run and their parameters are provided by an operator.

UEFI support with iPXE

Previously only plain PXE was supported with UEFI.

iPXE is much better for production in many cases.

Deployment Changes

Flashing Images

Booting for Deployment

  • Support for setting the iPXE timeout for fetching images.
  • Experimental support for IPv6 in the PXE driver.
  • Better compatibility with old iPXE ROM's (e.g. CentOS 7).

Deployment Changes

iSCSI-based deployment

(pxe_* and iscsi_* drivers)

  • Generic cleaning and RAID support.
    Depends on tools installed and configured on the ramdisk.
  • The ramdisk now supports Linux-IO as an alternative to TGTd.

Swift-based deployment

(agent_* drivers)

  • Support for partition images.
    Previously only whole-disk images were supported.
  • Ability to stream raw images directly to the hard drive.
  • Support for configuring proxy to access Swift.

Other changes

Ironic API

  • Support for filtering nodes by their driver.
  • Built-in SSL support.

Vendor Drivers

  • Dell DRAC driver was switched from eventlet-incompatible pywsman to python-dracclient.
  • Drivers for integration with the HP OneView.
  • Testing driver using WOL for powering on the nodes.


  • Periodic tasks are truly asynchronous.
  • WSGI from oslo.service is used for Ironic API fixing several issues.
  • Common partitioning and utilities code moved to ironic-lib.

Future Plans

Unfinished from Mitaka

  • Tenant network separation.
  • Support for multiple Nova computes with Ironic driver.
  • Support live upgrades of Ironic deployments.
  • Third party CI for all in-tree drivers.

New (Very Tentative)

  • Reworking driver composition.
  • Boot from volume (Cinder, iSCSI, UEFI, etc).
  • Notifications.
  • Rescue mode.


  1. All release notes:
  2. IRC: #openstack-ironic on Freenode
  3. Bug tracker:

Thank you for attention