Jump to: navigation, search

Difference between revisions of "Ironic"

m
 
(39 intermediate revisions by 15 users not shown)
Line 1: Line 1:
 
= OpenStack Bare Metal Provisioning Program =
 
= OpenStack Bare Metal Provisioning Program =
  
OpenStack bare metal provisioning a.k.a '''Ironic''' is an integrated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova baremetal driver. It is best thought of as a bare metal hypervisor API and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. For a general overview please see: [http://docs.openstack.org/developer/ironic/deploy/user-guide.html Introduction to Ironic]
+
OpenStack bare metal provisioning a.k.a '''Ironic''' is an integrated OpenStack program which aims to provision bare metal machines instead of virtual machines, forked from the Nova baremetal driver. It is best thought of as a bare metal hypervisor API and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in order to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. For a general overview please see: [https://docs.openstack.org/ironic/latest/user/index.html Introduction to Ironic].
  
== Projects ==
+
= Latest Documentation =
  
=== Ironic ===
+
This wiki is updated by volunteers as time permits. For the latest documentation, it is highly advisable to refer to the project documentation which is generated from the embedded documentation. Please see: [https://docs.openstack.org/ironic/latest/ latest ironic documentation].
==== Api and conductor ====
+
 
 +
= Projects =
 +
 
 +
Ironic is governed by the OpenStack Technical Committee. The complete list of deliverables (and associated tags) that are officially under the Ironic umbrella is available [http://governance.openstack.org/reference/projects/ironic.html here].
 +
 
 +
Some of the deliverables (or projects) are described below.
 +
 
 +
== ironic ==
 +
 
 +
The '''ironic''' project includes the ironic-api and ironic-conductor processes.
  
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
Line 13: Line 22:
 
|-
 
|-
 
| Source code
 
| Source code
| https://github.com/openstack/ironic
+
| https://opendev.org/openstack/ironic
 
|-
 
|-
| Developer doc
+
| Documentation
| http://docs.openstack.org/developer/ironic/
+
| https://docs.openstack.org/ironic/latest/
 
|-
 
|-
 
| Bug tracker
 
| Bug tracker
| https://bugs.launchpad.net/ironic
+
| https://bugs.launchpad.net/ironic/+bugs
 
|-
 
|-
 
| Feature tracker
 
| Feature tracker
| https://blueprints.launchpad.net/ironic
+
| https://bugs.launchpad.net/ironic/+bugs (rfe-approved tag)
 
|-
 
|-
 
| Specifications
 
| Specifications
Line 29: Line 38:
 
| Weekly meetings
 
| Weekly meetings
 
| https://wiki.openstack.org/wiki/Meetings/Ironic
 
| https://wiki.openstack.org/wiki/Meetings/Ironic
 +
|}
 +
 +
== python-ironicclient ==
 +
 +
'''python-ironicclient''' is a package that includes the python client and CLI.
 +
 +
{| border="1" cellpadding="2"
 +
| Source code
 +
| https://opendev.org/openstack/python-ironicclient
 
|-
 
|-
| Core team
+
| Bug tracker
| https://wiki.openstack.org/wiki/Ironic/CoreTeam
+
| https://bugs.launchpad.net/python-ironicclient/+bugs
 
|-
 
|-
| Testing
+
| Documentation
| https://wiki.openstack.org/wiki/Ironic/Testing
+
| https://docs.openstack.org/python-ironicclient/latest/
|-
 
| Drivers
 
| https://wiki.openstack.org/wiki/Ironic/Drivers
 
 
|}
 
|}
  
=== python-ironicclient ===
+
== ironic-python-agent ==
==== CLI and python client ====
+
 
 +
'''ironic-python-agent''' is a small python application that is meant to be embedded in a deployment ramdisk.
  
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/openstack/python-ironicclient
+
| https://opendev.org/openstack/ironic-python-agent
 
|-
 
|-
 
| Bug tracker
 
| Bug tracker
| https://bugs.launchpad.net/python-ironicclient
+
| https://bugs.launchpad.net/ironic-python-agent/+bugs
|-
 
| Feature tracker
 
| https://blueprints.launchpad.net/python-ironicclient
 
 
|-
 
|-
| Developer doc
+
| Documentation
| http://docs.openstack.org/developer/python-ironicclient
+
| https://docs.openstack.org/ironic-python-agent/latest/
 
|}
 
|}
  
=== ironic-python-agent ===
+
== bifrost ==
==== Deployment ram disk ====
+
 
 +
'''bifrost''' consists of Ansible play books for running Ironic standalone (without other OpenStack components).
 +
 
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/openstack/ironic-python-agent
+
| https://opendev.org/openstack/bifrost
 
|-
 
|-
 
| Bug tracker
 
| Bug tracker
| https://bugs.launchpad.net/ironic tag: "agent"
+
| https://bugs.launchpad.net/bifrost/+bugs
 
|-
 
|-
| Wiki page
+
| Documentation
| https://wiki.openstack.org/wiki/Ironic-python-agent
+
| https://docs.openstack.org/bifrost/latest/
 
|}
 
|}
  
=== pyghmi ===
+
== networking-baremetal ==
==== an alternative to IpmiTool ====
+
 
 +
'''networking-baremetal''' is a Neutron plugin that covers bare metal use cases; it provides deep Ironic/Neutron integration.
 +
 
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/stackforge/pyghmi
+
| https://opendev.org/openstack/networking-baremetal
 +
|-
 +
| Bug tracker
 +
| https://bugs.launchpad.net/networking-baremetal/+bugs
 
|}
 
|}
  
=== ironic-discoverd===
+
== ironic-ui ==
==== Hardware introspection tool ====
+
 
 +
'''ironic-ui''' is a horizon plugin for ironic.
 +
 
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/stackforge/ironic-discoverd
+
| https://opendev.org/openstack/ironic-ui
 
|-
 
|-
 
| Bug Tracker
 
| Bug Tracker
| https://bugs.launchpad.net/ironic-discoverd/
+
| https://bugs.launchpad.net/ironic-ui/+bugs
 
|-
 
|-
| Feature tracker
+
| Documentation
| https://blueprints.launchpad.net/ironic-discoverd/
+
| https://docs.openstack.org/ironic-ui/latest/
 
|}
 
|}
  
===  bifrost ===
+
= People =
==== Ansible play books to run Ironic standalone ====
+
 
{| border="1" cellpadding="2"
+
Ironic uses a Distributed Project Leadership (DPL) model. This means that the project operates on consensus-based leadership with specific contacts with points of focus. The current list of liasons can be found in the Governance repo, in projects.yaml: https://opendev.org/openstack/governance/src/branch/master/reference/projects.yaml.
| Source code
 
| https://github.com/openstack/bifrost
 
|}
 
  
=== Ironic-lib ===
+
As of this writing, January 2026, the liasons are:
==== Common lib of functions ====
 
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
| Source code
+
| Release
| https://github.com/openstack/ironic-lib
+
| Riccardo Pittau (rpittau)
 +
|-
 +
| TACT-SIG (testing/CI)
 +
| Dmitry Tantsur (dtantsur)
 +
|-
 +
| Security
 +
| Jay Faulkner (JayF)
 +
|-
 +
| Technical Committee
 +
| Doug Goldstein (cardoe)
 +
|-
 +
| Events
 +
| Iury Gregory Melo Ferreira (iurygregory)
 
|}
 
|}
  
== Status ==
+
= Status =
  
Ironic was first available as an incubated project in the "Icehouse" release. The following "Juno" release saw improved integration with Nova, as well as many stability and feature improvements. Ironic completed the project graduation review at the end of the "Juno" cycle, and began "Kilo" development cycle as an officially integrated OpenStack project.
+
Ironic is the premier project in OpenStack for provisioning Bare Metal. It can be used behind Nova via a virt driver, directly as part of an integrated OpenStack cloud, or used standalone without other OpenStack services (such as via metal3.io or bifrost).
* Icehouse, 2014.1: https://wiki.openstack.org/wiki/Ironic/ReleaseNotes/Icehouse
 
* Juno, 2014.2: https://wiki.openstack.org/wiki/Ironic/ReleaseNotes/Juno
 
* Kilo, 2015.1: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo#OpenStack_Bare_Metal_service_.28Ironic.29
 
  
 +
Release notes for Ironic are available at http://docs.openstack.org/releasenotes/ironic/.
  
Information on the latest status of Ironic's test suite can be found here: https://wiki.openstack.org/wiki/Ironic/Testing
+
Ironic publishes a semi-yearly, post PTG summary of project work items. These summaries are a good way to get up-to-date information on project status. They can be found at https://specs.openstack.org/openstack/ironic-specs/.
  
For a list of current drivers and the status of their CI testing, see the [https://wiki.openstack.org/wiki/Ironic/Drivers wiki page we maintain] and the [http://stackalytics.com/report/driverlog?project_id=openstack%2Fironic Stackalytics page which tracks third-party CI]
+
= Etherpads =
  
== Etherpads ==
+
Our project teams frequently share ideas and coordinate by using etherpads, some of which stick around for a while. Warning: information on project whiteboards may not be up to date.
 
 
Our project teams frequently share ideas and coordinate by using etherpads, some of which stick around for a while. Those are listed here.
 
 
* [https://etherpad.openstack.org/p/IronicWhiteBoard General-purpose "white board"]
 
* [https://etherpad.openstack.org/p/IronicWhiteBoard General-purpose "white board"]
* [https://etherpad.openstack.org/p/IronicReviewDay Coordination point during "review days"]
 
  
== IRC ==
+
= IRC =
  
Discussion of the project also takes place in '''#openstack-ironic''' on irc.freenode.net. This is a great place to jump in and start your ironic adventure. The channel is very welcoming to new users - no question is a wrong question!
+
Discussion of the project also takes place in '''#openstack-ironic''' on irc.oftc.net. This is a great place to jump in and start your ironic adventure. The channel is very welcoming to new users - no question is a wrong question!
  
== Developers ==
+
= Developers =
  
Guidelines for developers can be found here: https://wiki.openstack.org/wiki/Ironic/Developer_guidelines
+
Guidelines for developers can be found here: https://docs.openstack.org/ironic/latest/contributor/contributing.html. Most successful contributions are made by contributors coordinating closely with the project over IRC, mailing list, or bug tracker.  
Please note that for any non-trivial change that is not a fix for a particular bug, you have to go through [https://wiki.openstack.org/wiki/Ironic/Specs_Process specs review process]
 
  
== Pixie Boots, the Ironic drummer bear ==
+
= Pixie Boots, the Ironic drummer bear =
  
Pixie Boots is the mascot of the "'''Bear Metal'''" Provisioning Program for OpenStack, a.k.a Ironic. It was drawn by [https://plus.google.com/u/0/+LucasAlvaresGomes/ Lucas Alvares Gomes] and two versions of it are available: One colored and one outlined. Feel free to use the images to make t-shirts or any other paraphernalia.
+
Pixie Boots is the mascot of the "'''Bear Metal'''" Provisioning Program for OpenStack, a.k.a Ironic. It was drawn by [http://lucasgom.es Lucas Alvares Gomes] and two versions of it are available: One colored and one outlined. An icon shadowcut of pixie boots is also available, courtesy of [https://plus.google.com/u/0/+MichaelKrotscheck Michael Krotscheck]. Feel free to use the images to make t-shirts or any other paraphernalia.
  
 
High-resolution PNGs versions are available by clicking on the images below:
 
High-resolution PNGs versions are available by clicking on the images below:
Line 140: Line 164:
 
Ironic_mascot_color.png|Colored
 
Ironic_mascot_color.png|Colored
 
Ironic_mascot_outline.png|Outlined
 
Ironic_mascot_outline.png|Outlined
 +
bear metal.svg|Icon
 
</gallery>
 
</gallery>
  
Line 145: Line 170:
  
 
All images are licensed [http://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA].
 
All images are licensed [http://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA].
 +
 +
Pixie Boots rockin': \m/ ʕ•͡ᴥ•ʔ \m/
 +
 +
 +
= Outside the OpenStack Bare Metal Provisioning Program =
 +
 +
== Metal3 ==
 +
 +
Metal3.io is a CNCF incubated project which coordinates use of Ironic to provide bare metal resources to Kubernetes cluster API.
 +
 +
  
 
[[category: baremetal]]
 
[[category: baremetal]]
 
[[category: ironic]]
 
[[category: ironic]]

Latest revision as of 18:44, 20 January 2026

OpenStack Bare Metal Provisioning Program

OpenStack bare metal provisioning a.k.a Ironic is an integrated OpenStack program which aims to provision bare metal machines instead of virtual machines, forked from the Nova baremetal driver. It is best thought of as a bare metal hypervisor API and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in order to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. For a general overview please see: Introduction to Ironic.

Latest Documentation

This wiki is updated by volunteers as time permits. For the latest documentation, it is highly advisable to refer to the project documentation which is generated from the embedded documentation. Please see: latest ironic documentation.

Projects

Ironic is governed by the OpenStack Technical Committee. The complete list of deliverables (and associated tags) that are officially under the Ironic umbrella is available here.

Some of the deliverables (or projects) are described below.

ironic

The ironic project includes the ironic-api and ironic-conductor processes.

Official name OpenStack Bare Metal Provisioning
Source code https://opendev.org/openstack/ironic
Documentation https://docs.openstack.org/ironic/latest/
Bug tracker https://bugs.launchpad.net/ironic/+bugs
Feature tracker https://bugs.launchpad.net/ironic/+bugs (rfe-approved tag)
Specifications http://specs.openstack.org/openstack/ironic-specs
Weekly meetings https://wiki.openstack.org/wiki/Meetings/Ironic

python-ironicclient

python-ironicclient is a package that includes the python client and CLI.

Source code https://opendev.org/openstack/python-ironicclient
Bug tracker https://bugs.launchpad.net/python-ironicclient/+bugs
Documentation https://docs.openstack.org/python-ironicclient/latest/

ironic-python-agent

ironic-python-agent is a small python application that is meant to be embedded in a deployment ramdisk.

Source code https://opendev.org/openstack/ironic-python-agent
Bug tracker https://bugs.launchpad.net/ironic-python-agent/+bugs
Documentation https://docs.openstack.org/ironic-python-agent/latest/

bifrost

bifrost consists of Ansible play books for running Ironic standalone (without other OpenStack components).

Source code https://opendev.org/openstack/bifrost
Bug tracker https://bugs.launchpad.net/bifrost/+bugs
Documentation https://docs.openstack.org/bifrost/latest/

networking-baremetal

networking-baremetal is a Neutron plugin that covers bare metal use cases; it provides deep Ironic/Neutron integration.

Source code https://opendev.org/openstack/networking-baremetal
Bug tracker https://bugs.launchpad.net/networking-baremetal/+bugs

ironic-ui

ironic-ui is a horizon plugin for ironic.

Source code https://opendev.org/openstack/ironic-ui
Bug Tracker https://bugs.launchpad.net/ironic-ui/+bugs
Documentation https://docs.openstack.org/ironic-ui/latest/

People

Ironic uses a Distributed Project Leadership (DPL) model. This means that the project operates on consensus-based leadership with specific contacts with points of focus. The current list of liasons can be found in the Governance repo, in projects.yaml: https://opendev.org/openstack/governance/src/branch/master/reference/projects.yaml.

As of this writing, January 2026, the liasons are:

Release Riccardo Pittau (rpittau)
TACT-SIG (testing/CI) Dmitry Tantsur (dtantsur)
Security Jay Faulkner (JayF)
Technical Committee Doug Goldstein (cardoe)
Events Iury Gregory Melo Ferreira (iurygregory)

Status

Ironic is the premier project in OpenStack for provisioning Bare Metal. It can be used behind Nova via a virt driver, directly as part of an integrated OpenStack cloud, or used standalone without other OpenStack services (such as via metal3.io or bifrost).

Release notes for Ironic are available at http://docs.openstack.org/releasenotes/ironic/.

Ironic publishes a semi-yearly, post PTG summary of project work items. These summaries are a good way to get up-to-date information on project status. They can be found at https://specs.openstack.org/openstack/ironic-specs/.

Etherpads

Our project teams frequently share ideas and coordinate by using etherpads, some of which stick around for a while. Warning: information on project whiteboards may not be up to date.

IRC

Discussion of the project also takes place in #openstack-ironic on irc.oftc.net. This is a great place to jump in and start your ironic adventure. The channel is very welcoming to new users - no question is a wrong question!

Developers

Guidelines for developers can be found here: https://docs.openstack.org/ironic/latest/contributor/contributing.html. Most successful contributions are made by contributors coordinating closely with the project over IRC, mailing list, or bug tracker.

Pixie Boots, the Ironic drummer bear

Pixie Boots is the mascot of the "Bear Metal" Provisioning Program for OpenStack, a.k.a Ironic. It was drawn by Lucas Alvares Gomes and two versions of it are available: One colored and one outlined. An icon shadowcut of pixie boots is also available, courtesy of Michael Krotscheck. Feel free to use the images to make t-shirts or any other paraphernalia.

High-resolution PNGs versions are available by clicking on the images below:

You can also download the Inkscape SVG vector file: Ironic_mascot.svg

All images are licensed CC BY-SA.

Pixie Boots rockin': \m/ ʕ•͡ᴥ•ʔ \m/


Outside the OpenStack Bare Metal Provisioning Program

Metal3

Metal3.io is a CNCF incubated project which coordinates use of Ironic to provide bare metal resources to Kubernetes cluster API.