Bare Metal as a Service

Ironic is an open source project that fully manages bare metal infrastructure. It discovers bare-metal nodes, catalogs them in a management database, and manages the entire server lifecycle including enrolling, provisioning, maintenance, and decommissioning.

23.0.0 release available now

See the release notes

How Ironic Helps

Ironic has evolved and grown since it was "just" a way to provide bare metal machines to OpenStack users, finding ways to effectively become a standalone bare metal as a service system, capable of providing the same features as a full hardware management application.

Ironic is API-driven and API-first, and it includes a full set of RESTful APIs that provide a common vendor agnostic interface, allowing provisioning and management of bare metal machines for their entire lifecycle, from enrollment to retirement. It takes into account possible multiple reconfigurations and reuse of the same device, where a node can be re-provisioned for different use cases over its life.

Ironic allows operators to provision bare metal machines instead of virtual machines. It provides generic drivers ("interfaces") that support standards like IPMI and Redfish, used to manage any type of bare metal machine, no matter the brand. At the same time, it's officially supported by different vendors that help maintain not only the Ironic code-base, but also their own interfaces included in the Ironic code to provide full compatibility with their specific features.

Ironic is developed in Python, it is open source, and it uses gerrit for code review. To ensure reliability of the code, Ironic uses the Zuul CI engine tool to run the basic unit and functional tests, and also to simulate bare metal machines using advanced virtualization techniques to be able to run more complex tests with different deployment scenarios, including upgrades and multinode environments.

Want to learn more?

Read the latest white paper "Building the Future on Bare Metal, How Ironic Delivers Abstraction and Automation using Open Source Infrastructure"


Automated Lifecycle Management

From the initial enrollment to the final decommissioning, Ironic manages the whole lifecycle of a bare metal machine. Ironic provides operators a complete view into hardware, as well as a set of extensible preparation actions, before workloads are assigned to it.

API Driven Deployment

A consistent API layer enables vendor differences to be abstracted from users, and provides a simple interface to deploy and undeploy machines. These operations interact with the automated lifecycle management so one never has to remember to clean up a machine again.

Multi-tenant Access

Ironic features the notion of hardware ownership and leasing, allowing splitting the whole cluster into non-overlapping pools of hardware. Thanks to the optional integration with the OpenStack Networking service, Ironic is capable of networking hardware orchestration allowing physically isolating workloads from different users.

Scalable Footprint

A modular and scalable footprint, which enables the same interface and tooling regardless if you are managing tens, hundreds, or even thousands of physical machines.

Procurement & Resource Allocation

Concepts are available to users to allow entry and tracking of hardware from procurement processes and then allocate them to specific groups of users via their project.

Subscribe to Open Infrastructure News

Stay up to date with the Open Infrastructure community news.