Jump to: navigation, search

Difference between revisions of "Ironic"

m (Adding lbaas as a requirement for devstack due to bug/1260224)
 
(92 intermediate revisions by 23 users not shown)
Line 1: Line 1:
 +
= OpenStack Bare Metal Provisioning Program =
  
{| border="1" cellpadding="2" cellspacing="0"
+
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].
| [https://github.com/openstack/ironic Source code] 
+
 
 +
= 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: [https://docs.openstack.org/ironic/latest/ 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 [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"
 +
| 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
 
|-
 
|-
| [https://review.openstack.org/#/q/status:open+project:openstack/ironic,n,z Code review board]
+
| Feature tracker
 +
| https://bugs.launchpad.net/ironic/+bugs (rfe-approved tag)
 
|-
 
|-
| [https://bugs.launchpad.net/ironic Bug tracker] 
+
| Specifications
 +
| http://specs.openstack.org/openstack/ironic-specs
 
|-
 
|-
| [https://blueprints.launchpad.net/ironic Blueprints]
+
| Weekly meetings
 +
| 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
 
|-
 
|-
| [http://docs.openstack.org/developer/ironic/ Developer docs]
+
| Bug tracker
 +
| https://bugs.launchpad.net/python-ironicclient/+bugs
 
|-
 
|-
| [[Meetings/Ironic|Weekly meetings]]
+
| Documentation
 +
| https://docs.openstack.org/python-ironicclient/latest/
 
|}
 
|}
  
__TOC__
+
== ironic-python-agent ==
 +
 
 +
'''ironic-python-agent''' is a small python application that is meant to be embedded in a deployment ramdisk.
  
= Ironic: Bare Metal provisioning for OpenStack =
+
{| border="1" cellpadding="2"
 +
| 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/
 +
|}
  
'''Ironic is under rapid initial development, forked from [[Baremetal|Nova's Baremetal driver.]]''' If you're looking for something that works today, go there :)
+
== bifrost ==
  
If you'd like to join the development, start by [http://docs.openstack.org/developer/ironic/ reading the developer docs here], and then join us in the  <code>#openstack-ironic</code> on [http://irc.freenode.net irc.freenode.net]!
+
'''bifrost''' consists of Ansible play books for running Ironic standalone (without other OpenStack components).
  
=== Building Documentation Locally ===
+
{| border="1" cellpadding="2"
 +
| Source code
 +
| https://opendev.org/openstack/bifrost
 +
|-
 +
| Bug tracker
 +
| https://bugs.launchpad.net/bifrost/+bugs
 +
|-
 +
| Documentation
 +
| https://docs.openstack.org/bifrost/latest/
 +
|}
  
If you want to build the ironic docs for yourself locally, follow these steps:
+
== networking-baremetal ==
  
create a vm
+
'''networking-baremetal''' is a Neutron plugin that covers bare metal use cases; it provides deep Ironic/Neutron integration.
  #using vagrant 1.2.2 with a virtualbox backend
 
  vagrant init precise32
 
  #enable networking with the host
 
    vi Vagrantfile
 
    add
 
      config.vm.network :forwarded_port, guest: 80, host: 4567
 
  vagrant up
 
 
shell into the vm
 
  vagrant ssh
 
 
install dependencies
 
  sudo apt-get update
 
  sudo apt-get install -y git apache2 python-dev swig libssl-dev python-pip libmysqlclient-dev libxml2-dev libxslt-dev libxslt1-dev python-mysqldb libpq-dev
 
  sudo pip install virtualenv setuptools-git flake8 tox
 
  sudo easy_install nose
 
 
get the ironic repo
 
  cd ~
 
  git clone git://github.com/openstack/ironic.git
 
 
create a file enabling ironic.localhost in apache
 
  sudo vi /etc/apache2/sites-enabled/100-ironic
 
  # contents
 
  <VirtualHost *:80>
 
      ServerName ironic.localhost
 
      DocumentRoot /opt/source/ironic/doc/build/html
 
   
 
          <Directory /opt/source/ironic/doc/build/html>
 
                  Options Indexes FollowSymLinks MultiViews
 
                  AllowOverride None
 
                  Order allow,deny
 
                  allow from all
 
          </Directory>
 
  </VirtualHost>
 
  # change the DocumentRoot and the Directory to point the the ironic repo, if you are using
 
  # vagrant and the ironic repo is the the vagrant user's home directory the code is fine
 
 
create a venv inside the ironic repo
 
  cd ironic
 
  tox -evenv -- echo 'done'
 
 
activate the newly created venv
 
  source .tox/venv/bin/activate
 
 
from inside the venv
 
  python setup.py build_sphinx
 
  # as I run this I get 20 warnings, ignore the warnings
 
exit the venv
 
  deactivate
 
 
restart apache
 
  sudo service apache2 restart
 
 
on your host:
 
  add ironic.localhost to /etc/hosts with:
 
  sudo sed -i 's/\(127.0.0.1\s*localhost\)/\1 ironic.localhost/' /etc/hosts
 
 
point your browser to http://ironic.localhost:4567
 
 
You should be reading your newly built documentation.
 
  
=== Try it on Devstack ===
+
{| border="1" cellpadding="2"
 +
| Source code
 +
| https://opendev.org/openstack/networking-baremetal
 +
|-
 +
| Bug tracker
 +
| https://bugs.launchpad.net/networking-baremetal/+bugs
 +
|}
  
To install Ironic using Devstack follow the following steps:
+
== ironic-ui ==
  
1. Obtain the latest copy of Devstack:
+
'''ironic-ui''' is a horizon plugin for ironic.
  git clone git://github.com/openstack-dev/devstack.git
 
  
2. Go to the Devstack source tree and create a localrc file with at least the following options:
+
{| border="1" cellpadding="2"
  # Enable Ironic API and Ironic Conductor
+
| Source code
  enable_service ir-api
+
| https://opendev.org/openstack/ironic-ui
  enable_service ir-cond
+
|-
 
+
| Bug Tracker
  # Enable Neutron which is required by Ironic and disable nova-network.
+
| https://bugs.launchpad.net/ironic-ui/+bugs
  disable_service n-net
+
|-
  enable_service q-svc
+
| Documentation
  enable_service q-agt
+
| https://docs.openstack.org/ironic-ui/latest/
  enable_service q-dhcp
+
|}
  enable_service q-l3
 
  enable_service q-meta
 
  enable_service neutron
 
  enable_service q-lbaas
 
 
 
  # You can replace "password" with your own one.
 
  ADMIN_PASSWORD=password
 
  MYSQL_PASSWORD=password
 
  RABBIT_PASSWORD=password
 
  SERVICE_PASSWORD=password
 
  
3. Run installation of Devstack:
+
= People =
  ./stack.sh
 
  
4. Wait until everything gets installed.
+
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.
  
5. Ironic API service is listening on http://YOUR_IP:6385
+
As of this writing, January 2026, the liasons are:
 +
{| border="1" cellpadding="2"
 +
| 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)
 +
|}
  
=== Using Disk Image Builder ===
+
= Status =
In this section, we will go over how to set up Ironic within the TripleO enviroment.
 
  
: '''Note''': TripleO is under rapid development and may invalidate this walk thru.
+
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).
<br />
 
If not familiar with TripleO and / or have not used the DiskImage-Builder (DIB) tool before, please read and familiarize yourself with the TripleO story. Here are some good starting points:
 
:* [https://github.com/openstack/tripleo-incubator/blob/master/README.md TripleO-ReadMe]
 
:* [http://docs.openstack.org/developer/tripleo-incubator/deploying.html Deploying-Doc]
 
:* [http://docs.openstack.org/developer/tripleo-incubator/devtest.html Devtest-Doc]
 
  
Please follow TripleO's [http://docs.openstack.org/developer/tripleo-incubator/devtest.html Devtest-Doc] up to the [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud] section.
+
Release notes for Ironic are available at http://docs.openstack.org/releasenotes/ironic/.
<br />
 
  
==== Add Ironic to the undercloud ====
+
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/.  
Before doing step #1 of [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru], Download the Nova-ironic, and modified Nova element from [https://github.com/NoBodyCam/ironic-element NobodyCam's-repo]. After downloading the elements replace TripleO's Nova element with the one just downloaded, and move the downloaded Nova-ironic element in to the ELEMENTS_PATH ($TRIPLEO_ROOT/tripleo-image-elements/elements). Then add 'ironic' argument to the disk-image-create command:
 
  
cd $TRIPLEO_ROOT
+
= Etherpads =
export UNDERCLOUD_DIB_EXTRA_ARGS="nova-ironic"
 
  
Then do step #1, $TRIPLEO_ROOT/diskimage-builder/bin/disk-image-create...
+
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.
 +
* [https://etherpad.openstack.org/p/IronicWhiteBoard General-purpose "white board"]
  
: '''Note''': This will install Ironic and the Ironic command line client on the undercloud image. It will configure ironic.conf to use the undercloud's services. At this point it will NOT configure the undercloud to use Ironic's services.
+
= IRC =
  
==== Load Undercloud image ====
+
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!
Step #2 of [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru] loads the undercloud image containing Ironic you created above, into glance:
 
load-image $TRIPLEO_ROOT/undercloud.qcow2
 
  
==== Create the required passwords ====
+
= Developers =
Step #3 of the [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru] creates the required passwords for the undercloud.
 
setup-undercloud-passwords
 
source tripleo-undercloud-passwords
 
  
==== Merge the Ironic and undercloud yaml files ====
+
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.  
Step #4 of the [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru] needs to be modified to create required Ironic yaml file. Use the commands below to create the correct yaml file.  
 
  
The sed command is used to enable Ironic as the nova compute driver, it will edit the undercloud-vm-source.yaml file, and change the "compute_driver:" setting from baremetal.driver.BareMetalDriver to ironic.driver.IronicDriver.
+
= Pixie Boots, the Ironic drummer bear =
  
sed -i 's/baremetal.driver.BareMetalDriver/ironic.driver.IronicDriver/' $TRIPLEO_ROOT/tripleo-heat-templates/undercloud-vm-source.yaml
+
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.
make -C $TRIPLEO_ROOT/tripleo-heat-templates undercloud-vm-ironic.yaml
 
: '''Note''': it will create the $TRIPLEO_ROOT/tripleo-heat-templates/undercloud-vm-ironic.yaml file.
 
  
==== Boot the Ironic undercloud image ====
+
High-resolution PNGs versions are available by clicking on the images below:
Use the command below in place of [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru's] step #4 to spin up the undercloud! (It uses undercloud-vm-ironic.yaml instead of the tripleo-heat-templates/undercloud-vm.yaml and adds IronicPassword=${UNDERCLOUD_IRONIC_PASSWORD}.)
 
 
heat stack-create '''-f $TRIPLEO_ROOT/tripleo-heat-templates/undercloud-vm-ironic.yaml''' \
 
-P "PowerUserName=$(whoami);\
 
AdminToken=${UNDERCLOUD_ADMIN_TOKEN};\
 
AdminPassword=${UNDERCLOUD_ADMIN_PASSWORD};\
 
GlancePassword=${UNDERCLOUD_GLANCE_PASSWORD};\
 
HeatPassword=${UNDERCLOUD_HEAT_PASSWORD};\
 
NeutronPassword=${UNDERCLOUD_NEUTRON_PASSWORD};\
 
NovaPassword=${UNDERCLOUD_NOVA_PASSWORD};\
 
BaremetalArch=${NODE_ARCH};\
 
IronicPassword=${UNDERCLOUD_IRONIC_PASSWORD}" \
 
undercloud
 
<br />
 
Once HEAT has finished its magic, "nova list" should show something like this:
 
+----------------------+------------------------------------+--------+------------+-------------+--------------------+
 
| ID                  | Name                              | Status | Task State | Power State | Networks          |
 
+----------------------+------------------------------------+--------+------------+-------------+--------------------+
 
| <UUID>              | undercloud-notcompute-bo7jyyewi3on | ACTIVE | None      | Running    | ctlplane=192.0.2.2 |
 
+----------------------+------------------------------------+--------+------------+-------------+--------------------+
 
This will be the Ironic node.
 
<br />
 
  
After doing step #5 of [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru's], you will be able to login to the undercloud node with ssh, use a command like this:
+
<gallery>
ssh heat-admin@$UNDERCLOUD_IP
+
Ironic_mascot_color.png|Colored
:'''Note''': We included the stackuser element when we built our image so if you have console access you may also login on the console with " stack " as both username and password. Both users, "heat-admin" and "stack", have full sudo access.
+
Ironic_mascot_outline.png|Outlined
 +
bear metal.svg|Icon
 +
</gallery>
  
==== Continue  [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru] ====
+
You can also download the Inkscape SVG vector file: [https://wiki.openstack.org/wiki/File:Ironic_mascot.svg Ironic_mascot.svg]
Continue to follow the [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru] up through step #8.
 
  
==== Register the Ironic service ====
+
All images are licensed [http://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA].
After step #8, register the Ironic service with keystone.
 
PASSWORD=$UNDERCLOUD_IRONIC_PASSWORD register-endpoint -r "regionOne" -d "Ironic Service" ironic baremetal http://$UNDERCLOUD_IP:6385
 
  
In [http://docs.openstack.org/developer/tripleo-incubator/devtest_undercloud.html devtest_undercloud-walkthru's] step #9, nodes are registered to the undercloud's nova-baremetal and not Ironic. Instead of that, we'll create a 'baremetal' node and register it with ironic, via the undercloud.
+
Pixie Boots rockin': \m/ ʕ•͡ᴥ•ʔ \m/
  
Allow Ironic's SSH driver to connect to your local machine:
 
ssh heat-admin@$UNDERCLOUD_IP "cat /opt/stack/boot-stack/ironic-ssh-power-key.pub" >> ~/.ssh/authorized_keys
 
  
Copy the Ironic API credentials to your local machine:
+
= Outside the OpenStack Bare Metal Provisioning Program =
ssh heat-admin@$UNDERCLOUD_IP -- 'sudo cat /root/stackrc' > $TRIPLEO_ROOT/tripleo-incubator/ironicrc
 
sed -i "s/localhost/$UNDERCLOUD_IP/" $TRIPLEO_ROOT/tripleo-incubator/ironicrc
 
source $TRIPLEO_ROOT/tripleo-incubator/ironicrc
 
  
==== Create an emulated baremetal node ====
+
== Metal3 ==
  
This will create a 'baremetal' node:
+
Metal3.io is a CNCF incubated project which coordinates use of Ironic to provide bare metal resources to Kubernetes cluster API.
export UNDERCLOUD_MAC=$(create-nodes $NODE_CPU $NODE_MEM $NODE_DISK $NODE_ARCH 1)
 
  
Use the ''ironic'' client to enroll the baremetal node:
 
HOST_IP=$(ip addr show virbr0 | grep inet | awk '{print $2}' | sed 's/\/[0-9]*//')
 
CHASSIS=$(ironic chassis-create -d TestChassis | grep uuid | awk '{print $4}')
 
NODE=$(ironic node-create -c $CHASSIS -d pxe_ssh | grep ' uuid ' | awk '{print $4}')
 
ironic port-create -n $NODE -a $UNDERCLOUD_MAC
 
ironic node-update $NODE add \
 
  driver_info/ssh_virt_type=virsh \
 
  driver_info/ssh_address=$HOST_IP \
 
  driver_info/ssh_key_filename=/opt/stack/boot-stack/ironic-ssh-power-key \
 
  driver_info/ssh_username=$(whoami)
 
  
Confirm everything is enrolled and correct:
 
ironic node-show $NODE
 
  
You can now control the power state of this node with this command:
+
[[category: baremetal]]
ironic node-set-power-state $NODE [on|off|reboot]
+
[[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.