Generated by GPT-5-mini| Ironic (OpenStack) | |
|---|---|
| Name | Ironic |
| Developer | OpenStack Foundation |
| Released | 2013 |
| Programming language | Python |
| Operating system | Linux |
| License | Apache License 2.0 |
Ironic (OpenStack) is an open source project that provides bare metal provisioning services for cloud and datacenter environments, enabling automated lifecycles for physical servers. Originating within the OpenStack Foundation ecosystem, it integrates with orchestration, image, and networking services to allow projects such as OpenStack Nova, OpenStack Neutron, OpenStack Glance, OpenStack Keystone, and OpenStack Heat to treat physical machines similarly to virtual instances. Ironic is used by infrastructure operators ranging from hyperscalers like Rackspace and Red Hat deployments to research facilities and telecommunications providers such as AT&T and Verizon.
Ironic implements a bare-metal provisioning API and workflow that complements virtualized platforms including KVM, Xen Project, VMware vSphere, Microsoft Hyper-V, and LXC. It supports automated actions like power control, inspection, cleaning, image deployment, and rescue using protocols and tools such as PXE boot, iPXE, U-Boot, Secure Shell, and IPMI. Operators integrate Ironic with identity services like LDAP and Active Directory via OpenStack Keystone or external federated systems such as SAML and OAuth 2.0 for access control, and with configuration management systems like Ansible, Puppet, Chef, and SaltStack for post-provisioning configuration. Ironic’s lifecycle model addresses use cases in high performance computing, telecommunications, edge computing, and ci/cd environments.
Ironic’s architecture centers on a pluggable driver model, a conductor service, and an interaction surface exposed through a RESTful API compatible with OpenStack API conventions and JSON standards. The conductor orchestrates interactions among services including OpenStack Glance for images, OpenStack Neutron for networking, OpenStack Cinder for volume attachments, and OpenStack Barbican for secret management. Drivers implement vendor-specific logic for power management, virtual media, and deployment using vendor ecosystems like Dell EMC, Hewlett Packard Enterprise, Lenovo, Supermicro, and Cisco Systems. The node database integrates with backends such as MySQL (via MariaDB) and PostgreSQL, while messaging relies on RabbitMQ, Apache Kafka, or similar brokers used across OpenStack Nova and OpenStack Swift deployments.
Ironic is typically deployed alongside other OpenStack services on Linux distributions like Ubuntu, Red Hat Enterprise Linux, CentOS, and SUSE Linux Enterprise Server. Packaging and orchestration for production installations use tools and projects such as OpenStack-Ansible, Kolla, TripleO, Juju, Fuel, and MAAS (Metal as a Service). Continuous integration and testing integrate with ecosystems like Zuul and Gerrit to validate driver changes, while monitoring and telemetry commonly leverage Prometheus, Grafana, Nagios, and Collectd. Operators perform hardware introspection via tools such as ipmitool and sushy and manage firmware updates through vendor utilities like Redfish and Vendor Firmware Tools.
Ironic exposes a driver abstraction that supports diverse hardware platforms and management controllers, including Baseboard Management Controller vendors and standards: IPMI, Redfish, iLO (HPE Integrated Lights-Out), DRAC (Dell Remote Access Controller), BMC, AMT (Intel Active Management Technology), and proprietary interfaces from Supermicro and Cisco UCS Manager. Additional drivers integrate with virtualization and FPGA vendors like NVIDIA, Intel Corporation, AMD, and Xilinx. Storage and bootdrivers enable integration with iSCSI, Fibre Channel, NVMe-oF, and network boot technologies such as TFTP and HTTP boot. Community-contributed drivers extend support to specialized appliances from NetApp, HPE SimpliVity, and Cumulus Networks.
Ironic is used for provisioning in scenarios where physical isolation, hardware acceleration, or specific firmware access is required: machine learning clusters with GPU passthrough (e.g., NVIDIA Tesla), telecom network functions virtualization (NFV) for 5G infrastructures, edge computing nodes managed by Kubernetes via projects like metal3.io and integrations with OpenShift, and continuous integration runners for projects such as OpenStack itself and Linux Foundation initiatives. Integration points include Terraform, Ansible Tower, Jenkins, GitLab CI/CD, and Cloud Foundry. Ironic enables bare-metal autoscaling patterns for OpenStack Heat templates and interacts with Kubernetes Cluster API providers for on-premises cluster lifecycle.
The Ironic project is governed within the OpenStack Foundation community with contributions coordinated through Gerrit, Launchpad historically, and modern tooling including GitHub mirrors and Zuul pipelines. Contributors come from companies such as Red Hat, Canonical, Intel Corporation, Dell Technologies, Rackspace, and Mirantis as well as academic institutions and independent developers. Development follows PEP-style Python guidelines and participates in events like OpenStack Summit, KubeCon, and FOSDEM. Release management aligns with the OpenStack Release Cycle, and community resources include OpenStack Mailing Lists, OpenStack Meetups, and working groups such as the OpenInfra Foundation committees.