Chapter 1. Bare Metal Provisioning service (ironic) functionality
You use the Bare Metal Provisioning service (ironic) components to provision and manage physical machines as bare-metal instances for your cloud users. To provision and manage bare-metal instances, the Bare Metal Provisioning service interacts with the following Red Hat OpenStack Services on OpenShift (RHOSO) services:
- The Compute service (nova) provides scheduling, tenant quotas, and a user-facing API for virtual machine instance management.
- The Identity service (keystone) provides request authentication and assists the Bare Metal Provisioning service to locate other RHOSO services.
- The Image service (glance) manages disk and instance images and image metadata.
- The Networking service (neutron) provides DHCP and network configuration, and provisions the virtual or physical networks that instances connect to on boot.
- The Object Storage service (swift) exposes temporary image URLs for some drivers.
Bare Metal Provisioning service components
The Bare Metal Provisioning service consists of services, named ironic-*. The following services are the core Bare Metal Provisioning services:
- Bare Metal Provisioning API (
ironic-api) - This service provides the external REST API to users. The API sends application requests to the Bare Metal Provisioning conductor over remote procedure call (RPC).
- Bare Metal Provisioning conductor (
ironic-conductor) This service uses drivers to perform the following bare-metal node management tasks:
- Adds, edits, and deletes bare-metal nodes.
- Powers bare-metal nodes on and off with IPMI, Redfish, or other vendor-specific protocol.
- Provisions, deploys, and cleans bare metal nodes.
- Bare Metal Provisioning inspector (
ironic-inspector) - This service discovers the hardware properties of a bare-metal node that are required for scheduling bare-metal instances, and creates the Bare Metal Provisioning service ports for the discovered ethernet MACs.
- Bare Metal Provisioning database
- This database tracks hardware information and state.
- Bare Metal Provisioning agent (
ironic-python-agent) -
This service runs in a temporary ramdisk to provide
ironic-conductorandironic-inspectorservices with remote access, in-band hardware control, and hardware introspection.
Provisioning a bare-metal instance
You can configure the Bare Metal Provisioning service to use PXE, iPXE, or virtual media to provision physical machines as bare-metal instances:
- PXE or iPXE: The Bare Metal Provisioning service provisions the bare-metal instances by using network boot.
- Virtual media: The Bare Metal Provisioning service provisions the bare-metal instances by creating a temporary ISO image and requesting the Baseboard Management Controller (BMC) to attach and boot to that image.