By Dmitry Tantsur <firstname.lastname@example.org>
with help of Pixie Boots, the Ironic drummer bear
Ironic is an OpenStack project which provisions bare metal (as
opposed to virtual) machines by leveraging common technologies such
as PXE boot and IPMI to cover a wide range of hardware, while
supporting pluggable drivers to allow vendor-specific functionality
to be added.
Or simply speaking: tool for building clouds, where each instance occupy the whole physical machine.
TripleO is a program aimed at installing, upgrading and operating OpenStack clouds using OpenStack's own cloud facilities as the foundations.© https://wiki.openstack.org/wiki/TripleO
Bare Metal Clouds
Provide bare metal instances to the clients for better and more predictable performance, or access to low-level hardware features (like OpenCL).
General purpose hardware provisioning
by Kyle Stevenson
Ironic delegates dealing with particular hardware to number of drivers.
Drivers consist of several interfaces, each having some specific role in the deployment process.
Management and console interface are usually closely related to the power interface
And many more: https://blueprints.launchpad.net/ironic/juno
Two types of images:
Two types of possible boot modes:
Make all combinations possible with all drivers.
We've refactored our state machine and added new operations on a node:
Discovering required hardware properties for a machine, knowing only power credentials (e.g. IPMI).
Not to confuse with auto-discovery, when new hardware is enrolled automagically.
Possible with e.g. iLO (HP) Kilo! and DRAC (DELL).
Pros: usually fast and simple.
Cons: limited by BMC capabilities.
Implemented via booting a special ramdisk on a node.
Pros: can discover anything that can be discovered in theory.
Cons: complex and long, requires special DHCP configuration and a whole boot cycle.
There was an agreement not to implement it as part of Ironic codebase.
Service developed specifically for conducting in-band inspection.
A special ramdisk is required which is provided within diskimage-builder