Jump to: navigation, search

Difference between revisions of "Ironic"

m (Cleaning up more stuff here)
(Projects)
(33 intermediate revisions by 13 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: [http://docs.openstack.org/developer/ironic/deploy/user-guide.html Introduction to Ironic].
  
== Projects ==
+
= Projects =
  
=== Ironic ===
+
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].
==== Api and conductor ====
+
 
 +
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 18:
 
|-
 
|-
 
| Source code
 
| Source code
| https://github.com/openstack/ironic
+
| https://git.openstack.org/cgit/openstack/ironic
 
|-
 
|-
 
| Developer doc
 
| Developer doc
Line 22: Line 27:
 
|-
 
|-
 
| Feature tracker
 
| Feature tracker
| https://blueprints.launchpad.net/ironic
+
| https://bugs.launchpad.net/ironic/+bugs?field.tag=rfe+rfe-approved+&field.tags_combinator=ANY
 
|-
 
|-
 
| Specifications
 
| Specifications
Line 29: Line 34:
 
| Weekly meetings
 
| Weekly meetings
 
| https://wiki.openstack.org/wiki/Meetings/Ironic
 
| https://wiki.openstack.org/wiki/Meetings/Ironic
|-
 
| Core team
 
| https://wiki.openstack.org/wiki/Ironic/CoreTeam
 
 
|-
 
|-
 
| Testing
 
| Testing
Line 40: Line 42:
 
|}
 
|}
  
=== python-ironicclient ===
+
== python-ironicclient ==
==== CLI and python client ====
+
 
 +
'''python-ironicclient''' is a package that includes the python client and CLI.
  
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/openstack/python-ironicclient
+
| https://git.openstack.org/cgit/openstack/python-ironicclient
 
|-
 
|-
 
| Bug tracker
 
| Bug tracker
Line 57: Line 60:
 
|}
 
|}
  
=== ironic-python-agent ===
+
== ironic-python-agent ==
==== Deployment ram disk ====
+
 
 +
'''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/ironic-python-agent
+
| https://git.openstack.org/cgit/openstack/ironic-python-agent
 
|-
 
|-
 
| Bug tracker
 
| Bug tracker
| https://bugs.launchpad.net/ironic tag: "agent"
+
| https://bugs.launchpad.net/ironic-python-agent
 +
|-
 +
| Developer doc
 +
| http://docs.openstack.org/developer/ironic-python-agent
 
|-
 
|-
 
| Wiki page
 
| Wiki page
Line 70: Line 78:
 
|}
 
|}
  
=== pyghmi ===
+
== ironic-inspector ==
==== an alternative to IpmiTool ====
+
 
 +
'''ironic-inspector''' is a hardware introspection tool.
 +
 
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/stackforge/pyghmi
+
| https://git.openstack.org/cgit/openstack/ironic-inspector
 +
|-
 +
| Bug Tracker
 +
| https://bugs.launchpad.net/ironic-inspector/
 +
|-
 +
| Feature tracker
 +
| https://bugs.launchpad.net/ironic-inspector/+bugs?field.tag=rfe+rfe-approved+&field.tags_combinator=ANY
 +
|-
 +
| Developer doc
 +
| http://docs.openstack.org/developer/ironic-inspector/
 
|}
 
|}
  
=== ironic-discoverd===
+
== bifrost ==
==== Hardware introspection tool ====
+
 
 +
'''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/stackforge/ironic-discoverd
+
| https://git.openstack.org/cgit/openstack/bifrost
 
|-
 
|-
| Bug Tracker
+
| Bug tracker
| https://bugs.launchpad.net/ironic-discoverd/
+
| https://bugs.launchpad.net/bifrost
 +
|}
 +
 
 +
== networking-baremetal ==
 +
 
 +
'''networking-baremetal''' is a Neutron plugin that covers bare metal use cases; it provides deep Ironic/Neutron integration.
 +
 
 +
{| border="1" cellpadding="2"
 +
| Source code
 +
| https://git.openstack.org/cgit/openstack/networking-baremetal
 
|-
 
|-
| Feature tracker
+
| Bug tracker
| https://blueprints.launchpad.net/ironic-discoverd/
+
| https://bugs.launchpad.net/networking-baremetal
 
|}
 
|}
  
===  bifrost ===
+
== ironic-lib ==
==== Ansible play books to run Ironic standalone ====
+
 
 +
'''ironic-lib''' is a common library of functions used exclusively by the projects under the [http://governance.openstack.org/reference/projects/ironic.html Ironic governance].
 +
 
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/openstack/bifrost
+
| https://git.openstack.org/cgit/openstack/ironic-lib
 +
|-
 +
| Bug tracker
 +
| https://bugs.launchpad.net/ironic-lib
 
|}
 
|}
  
=== Ironic-lib ===
+
== ironic-ui ==
==== Common lib of functions ====
+
 
 +
'''ironic-ui''' is a horizon plugin for ironic.
 +
 
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
| https://github.com/openstack/ironic-lib
+
| https://git.openstack.org/cgit/openstack/ironic-ui
 +
|-
 +
| Bug Tracker
 +
| https://bugs.launchpad.net/ironic-ui/
 +
|-
 +
| Developer doc
 +
| http://docs.openstack.org/developer/ironic-ui/
 
|}
 
|}
  
== Status ==
+
= People =
 +
 
 +
'''PTL''': Dmitry Tantsur (dtantsur)
 +
 
 +
'''Core teams''': https://wiki.openstack.org/wiki/Ironic/CoreTeam
 +
 
 +
'''Cross-project liaisons''': https://wiki.openstack.org/wiki/CrossProjectLiaisons
 +
 
 +
= 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 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.
* 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
+
Information on the latest status of Ironic's test suite can be found here: https://wiki.openstack.org/wiki/Ironic/Testing.
  
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]
+
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. Those are listed here.
 
Our project teams frequently share ideas and coordinate by using etherpads, some of which stick around for a while. Those are listed here.
Line 122: Line 171:
 
* [https://etherpad.openstack.org/p/IronicReviewDay Coordination point during "review days"]
 
* [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.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!
  
== 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://wiki.openstack.org/wiki/Ironic/Developer_guidelines
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]
+
Please note that for any non-trivial change that is not a fix for a particular bug, you have to go through the [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 [https://plus.google.com/u/0/+LucasAlvaresGomes/ 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 190:
 
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 196:
  
 
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/
 +
 +
= Misc. =
 +
 +
* [[Ironic/IPv6|Ironic + IPv6]]
 +
 +
= Outside the OpenStack Bare Metal Provisioning Program =
 +
 +
== Out-of-tree Ironic drivers ==
 +
 +
Drivers that can be used with Ironic but that aren't in the [https://git.openstack.org/cgit/openstack/ironic ironic] repository, may be found in the [https://git.openstack.org/cgit/openstack/ironic-staging-drivers ironic-staging-drivers] repository.
 +
== Vendor-specific tools ==
 +
 +
Third-party vendors are encouraged to share their tools/scripts which might help people using their hardware with '''ironic'''.  These tools are not maintained by the ironic core team and are not under the governance of the OpenStack Technical Committee. Vendors themselves should be contacted for features requests/bug fixes.
 +
 +
{| border="1" cellpadding="2"
 +
| Developer doc
 +
| https://wiki.openstack.org/wiki/Ironic/ThirdPartyVendorToolsDeveloperDoc
 +
|-
 +
| List of third party vendor tools
 +
| https://wiki.openstack.org/wiki/Ironic/ThirdPartyVendorToolsList
 +
|}
 +
  
 
[[category: baremetal]]
 
[[category: baremetal]]
 
[[category: ironic]]
 
[[category: ironic]]

Revision as of 18:00, 5 June 2017

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.

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://git.openstack.org/cgit/openstack/ironic
Developer doc http://docs.openstack.org/developer/ironic/
Bug tracker https://bugs.launchpad.net/ironic
Feature tracker https://bugs.launchpad.net/ironic/+bugs?field.tag=rfe+rfe-approved+&field.tags_combinator=ANY
Specifications http://specs.openstack.org/openstack/ironic-specs
Weekly meetings https://wiki.openstack.org/wiki/Meetings/Ironic
Testing https://wiki.openstack.org/wiki/Ironic/Testing
Drivers https://wiki.openstack.org/wiki/Ironic/Drivers

python-ironicclient

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

Source code https://git.openstack.org/cgit/openstack/python-ironicclient
Bug tracker https://bugs.launchpad.net/python-ironicclient
Feature tracker https://blueprints.launchpad.net/python-ironicclient
Developer doc http://docs.openstack.org/developer/python-ironicclient

ironic-python-agent

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

Source code https://git.openstack.org/cgit/openstack/ironic-python-agent
Bug tracker https://bugs.launchpad.net/ironic-python-agent
Developer doc http://docs.openstack.org/developer/ironic-python-agent
Wiki page https://wiki.openstack.org/wiki/Ironic-python-agent

ironic-inspector

ironic-inspector is a hardware introspection tool.

Source code https://git.openstack.org/cgit/openstack/ironic-inspector
Bug Tracker https://bugs.launchpad.net/ironic-inspector/
Feature tracker https://bugs.launchpad.net/ironic-inspector/+bugs?field.tag=rfe+rfe-approved+&field.tags_combinator=ANY
Developer doc http://docs.openstack.org/developer/ironic-inspector/

bifrost

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

Source code https://git.openstack.org/cgit/openstack/bifrost
Bug tracker https://bugs.launchpad.net/bifrost

networking-baremetal

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

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

ironic-lib

ironic-lib is a common library of functions used exclusively by the projects under the Ironic governance.

Source code https://git.openstack.org/cgit/openstack/ironic-lib
Bug tracker https://bugs.launchpad.net/ironic-lib

ironic-ui

ironic-ui is a horizon plugin for ironic.

Source code https://git.openstack.org/cgit/openstack/ironic-ui
Bug Tracker https://bugs.launchpad.net/ironic-ui/
Developer doc http://docs.openstack.org/developer/ironic-ui/

People

PTL: Dmitry Tantsur (dtantsur)

Core teams: https://wiki.openstack.org/wiki/Ironic/CoreTeam

Cross-project liaisons: https://wiki.openstack.org/wiki/CrossProjectLiaisons

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.

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.

For a list of current drivers and the status of their CI testing, see the wiki page we maintain and the Stackalytics page which tracks third-party CI.

Etherpads

Our project teams frequently share ideas and coordinate by using etherpads, some of which stick around for a while. Those are listed here.

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!

Developers

Guidelines for developers can be found here: https://wiki.openstack.org/wiki/Ironic/Developer_guidelines Please note that for any non-trivial change that is not a fix for a particular bug, you have to go through the specs review process


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/

Misc.

Outside the OpenStack Bare Metal Provisioning Program

Out-of-tree Ironic drivers

Drivers that can be used with Ironic but that aren't in the ironic repository, may be found in the ironic-staging-drivers repository.

Vendor-specific tools

Third-party vendors are encouraged to share their tools/scripts which might help people using their hardware with ironic. These tools are not maintained by the ironic core team and are not under the governance of the OpenStack Technical Committee. Vendors themselves should be contacted for features requests/bug fixes.

Developer doc https://wiki.openstack.org/wiki/Ironic/ThirdPartyVendorToolsDeveloperDoc
List of third party vendor tools https://wiki.openstack.org/wiki/Ironic/ThirdPartyVendorToolsList