OpenStack Ironic bare metal provisioning

Ironic provisions physical servers through PXE and IPMI, either inside an OpenStack cloud or as a standalone service. This page covers the configuration decisions, data setup, integrations and effort that shape an implementation.

On this page

When teams implement OpenStack Ironic bare metal provisioning

Teams should implement OpenStack Ironic when they need physical servers enrolled, powered, deployed and released through an API, and when that capacity has to sit next to, or inside, an OpenStack cloud. Ironic is the bare metal service in OpenStack. It is the right choice when workloads need the full performance, isolation or hardware features of a physical machine, or when a team wants one request-driven workflow for both virtual machines and servers. The build-or-partner decision depends less on the Ironic code itself and more on the hardware, network and operating model around it.

Ironic is one service among several. It draws on Keystone for identity, Glance for images, Neutron for the networks that tenant and provisioning traffic travel over, and Nova when bare metal instances are requested through the compute API. Each of these dependencies adds configuration, failure modes and upgrade coupling. A team that only needs a fleet of servers managed through an API may find that a standalone Ironic deployment, without Nova, fits better. A team that wants bare metal and virtual machines under one tenant model will need the full set of integrations working together before the first node is enrolled.

The value of Ironic also depends on the hardware. Out-of-band management through IPMI or a comparable BMC interface, network boot support, and consistent firmware across the fleet all shape how much automation is practical. Ironic's documentation describes PXE-based deployment and the drivers that talk to different hardware, but driver support and feature coverage vary by hardware model and release. Before committing, teams should check their server models against the driver list for the release they plan to deploy, and confirm which cleaning and firmware steps the hardware can run unattended.

Version-specific behavior needs to be confirmed against the exact release. OpenStack publishes a six-month cadence, with SLURP releases supported for upgrades between them, and driver names, default settings and deployment steps can change between releases. Teams should read the Ironic release notes and install guide for the version they will run, and test enrollment, deployment, cleaning and teardown on a small set of representative machines before scaling. The first decision to record is which release, which deployment tool and which hardware models the design will target.

What Ironic does for physical servers

OpenStack Ironic manages physical servers as a sequence: it records each machine, installs an operating system, controls power and boot, and clears data before the next tenant receives the hardware. The cards below cover each step and the decisions an operator makes at that step, plus the driver and hardware checks that apply to every one of them.

Enrolling nodes

Enrollment records each physical server as a node, along with its management controller address, credentials, and the driver that will manage it. Operators should confirm that the hardware properties Ironic reads, such as CPU, memory and disks, match the physical machine before any node is made available for scheduling. Mismatched inventory data is a common cause of failed deployments, so it is worth checking the first few nodes by hand before enrolling a whole rack.

Provisioning operating system images

Provisioning writes an operating system image onto a node's local disks, usually by booting a small deployment ramdisk over the network and then streaming the image to the target device. The operator decides which image format is used, how the disks are partitioned, and whether the node boots from local disk or another supported method. After the first deployment, verify that the node comes up with the expected kernel, network configuration and disk layout.

Power and boot control

Ironic uses the out-of-band management interface of each server to power it on or off, reset it, and set the next boot device. IPMI is the classic protocol for this, and PXE is the usual way a node loads its deployment ramdisk. Operators should confirm that the management network is reachable from the Ironic conductors, that firmware boot order is set to network boot where needed, and that credentials are stored and rotated under the organization's normal secrets policy.

Cleaning between tenants

Cleaning runs when a node is released, or before it is first made available, to remove data left by the previous user. Cleaning steps can include erasing disks and resetting firmware-level settings, and they can run automatically or be triggered manually. Operators decide which steps are mandatory for their tenant model, and they should measure how long cleaning takes on their hardware, because it adds time to every node turnover. Whether a given erase method is available depends on the hardware and driver.

Confirming driver and hardware support

Feature availability depends on the driver, the hardware model and the Ironic release, so a capability listed in general documentation may not work on every server in your fleet. Before committing to a design, confirm the driver, the management controller version and each cleaning or deployment feature against the release you plan to run. Then test the full sequence of enrollment, deployment, power control and cleaning on one machine of each hardware model you intend to operate.

How PXE and IPMI drive enrollment and boot

IPMI and PXE do different jobs in Ironic, and the team needs to know which dependency each one creates before any node is enrolled. IPMI, or the BMC interface behind it, gives Ironic remote power control and a way to set the next boot device even when the operating system is absent or broken. PXE gives the node a network path to fetch a boot loader, a kernel and a ramdisk from the Ironic provisioning network. Ironic drives both from its conductor service, so the conductor must reach every BMC address and the provisioning network must carry DHCP and TFTP or HTTP traffic for the nodes it manages.

Enrollment starts when an operator registers a node with its BMC address, credentials, and the MAC address of the NIC used for provisioning. Ironic then validates the management interface by querying power state, and runs an inspection step that collects hardware details such as CPU, memory, disks and NIC identifiers. Inspection can run through an out-of-band process that boots an inspection ramdisk over PXE, or through an in-band agent, depending on the configured inspection interface. The team should confirm which inspection method its hardware and firmware support before the first node is enrolled, because the answer determines which network and boot settings must be in place.

Deployment and cleaning both repeat the same pattern. Ironic sets the boot device to PXE through IPMI, powers the node on, serves a deploy ramdisk over the provisioning network, writes the requested image to disk, and then sets the boot device to the local disk for the final boot. Cleaning, whether automated or manual, runs the same cycle with cleaning steps such as disk erasure or firmware updates. Each step depends on BMC credentials staying valid, on DHCP and PXE responding on the right VLAN, and on the boot mode matching the firmware setting. A mismatch between legacy BIOS and UEFI is one of the most common causes of a node that powers on but never reaches the deploy ramdisk.

Credentials and network paths are the two dependencies that fail most often in practice. BMC user accounts should have only the power and boot-device rights Ironic needs, and rotation must update the node record or the next power action will fail. The provisioning network must be isolated, and its DHCP and TFTP or HTTP services must be reachable only from nodes being managed. Ask the hardware vendor which BMC protocol versions, UEFI secure boot settings and NIC firmware versions are supported with the release of Ironic you plan to run, and record those details in the enrollment checklist before any node is added to the inventory.

Ironic standalone or inside OpenStack, and the other choices to settle

This table compares the main configuration decisions for an Ironic build: standalone or integrated deployment, the deployment tool, boot and driver choices, the provisioning network, and the image and cleaning approach. Read each row as a fork, where the option column says when it fits and the commitment column says what the team takes on. Settle the first two rows before enrolling any hardware, because they shape the rest of the design.

DecisionOption and when it fitsWhat it commits the team to
Ironic deployment scopeStandalone: Ironic manages servers alone for teams that need bare metal without a full cloud. Integrated: Ironic runs alongside Nova, Neutron and Glance in one cloud.Standalone: the team owns the API, node inventory and access model. Integrated: the team carries Nova scheduling, Keystone roles and service dependencies.
Deployment toolKolla-Ansible deploys OpenStack in Docker containers with Ansible. OpenStack-Ansible deploys in LXC containers or directly on bare metal, per the OpenStack deployment guides.Kolla-Ansible: container image build and registry work. OpenStack-Ansible: LXC layout and host preparation. Confirm Ironic coverage in the guide for your target release.
Boot interface and driversPXE with IPMI suits older or common servers. Virtual media through Redfish suits servers whose BMCs support it and where PXE is restricted.Each hardware model needs a tested driver and boot path. Confirm BMC firmware and driver support with the server vendor before enrollment.
Provisioning networkA dedicated, isolated network carries DHCP, PXE and cleaning traffic, usually on flat or VLAN-backed segments kept apart from tenant networks.Requires switch port planning, a DHCP and TFTP or HTTP boot service, and a security review of the broadcast domain PXE depends on.
Image approachStandard OS images built from one hardened baseline suit fleets with uniform hardware. Images built per hardware generation suit mixed fleets with specific driver needs.Commits the team to an image pipeline, signing, and a patch cadence. Confirm which image formats your Ironic release accepts.
Cleaning approachAutomated cleaning on deprovisioning wipes disks between tenants. Manual cleaning steps handle tasks such as firmware updates or RAID setup.Cleaning time grows with disk count and wipe method. Agree the wipe standard with your data handling policy and document the cleaning steps.
Release trackTrack a SLURP release for a longer upgrade path, or an adjacent release for a shorter cycle. The 2026.1 Gazpacho release is a SLURP release.Commits the team to a regular upgrade rhythm and testing of Ironic against each hardware model before the upgrade reaches production.

When bare metal instances beat virtual machines

Choose a bare metal instance when the workload needs the whole server and a virtual machine would add cost without adding value. Performance-sensitive and hardware-dependent workloads are the clearest cases: latency-sensitive databases, packet-heavy network functions, and accelerator jobs that depend on specific drivers, firmware or NUMA layout. Each of these may need local NVMe devices, particular NIC features or predictable CPU behavior that a hypervisor layer can blur. Start by listing which hardware features the workload depends on, then check whether a VM flavor can expose them in your cloud.

Direct hardware access and isolation are the second group. Some workloads need BIOS or firmware settings, IPMI-level control, or low-level NIC configuration that a guest cannot change. Tenancy requirements matter as much. When a regulator, customer contract or internal policy asks for dedicated machines, a bare metal instance keeps one tenant on the hardware and removes co-tenancy with other projects' VMs. Ask the compliance owner to state that requirement in writing, because it decides the placement model before any performance test runs.

Hosts that run a hypervisor or Kubernetes nodes are the third group. A KVM or other hypervisor host has to run on physical hardware, and Ironic is a common way to build those hosts from the same control plane that runs your cloud. Kubernetes nodes on bare metal suit storage-heavy or network-heavy clusters, and Ceph storage nodes are typically physical servers. Confirm with your platform team whether nested virtualization is acceptable for any node role, since that choice changes which instances belong on metal.

Virtual machines remain the better choice when the workload needs fast scaling, high density or shared capacity. Nova guests can boot from Ceph-backed volumes without local hypervisor storage, so they can be started, moved and resized with little hardware involvement. A bare metal instance occupies a whole server and goes through hardware cleaning and boot steps before it is usable, so small or bursty workloads often leave expensive capacity idle. Measure your own provisioning time and utilization in your environment before assuming either model is faster to operate.

Test the decision against your own measurements rather than a general rule. Pick the candidate workload, run it on a VM and on a bare metal node with comparable hardware, and record latency percentiles, throughput, time from request to usable host, failure recovery effort and cost per unit of work. Write the decision threshold before the test starts, so the result is not shaped by preference. Repeat the test after any hardware or firmware change, because those changes can move the outcome as much as the choice of instance type.

Implementation sequence for OpenStack Ironic bare metal provisioning

The sequence moves from release and tooling decisions through networks, out-of-band access and a single pilot node before any fleet rollout. Each step closes with a written output, so the team can confirm readiness before adding hardware. Most delays come from the network and out-of-band layers beneath Ironic, so those steps carry the most checks.

  1. Confirm the target release and deployment tool

    Record the OpenStack release, the deployment tool and the operating systems your hardware and images require. Check release status on the OpenStack releases site and choose a SLURP release where your upgrade plan calls for one, such as 2026.1 Gazpacho, which is a SLURP release published on 2026-04-01. The OpenStack 2026.1 deployment guides cover both Kolla-Ansible and OpenStack-Ansible, so the platform owner picks one tool and documents why. Confirm in the release notes that your BMC models and Ironic drivers are supported. The output is a signed one-page version decision that lists the release, the tool, and the supported hardware families.

  2. Design the provisioning and tenant networks

    Design the provisioning network that Ironic uses for PXE, DHCP and image transfer, and the tenant networks that bare metal instances join. Decide which network carries cleaning and deploy ramdisk traffic, how DHCP is served, and how tenant isolation maps onto the VLANs your switching supports. Work with the network team on switch port configuration for every enrollment port. Do not start enrollment until the design passes review. The output is a documented network design with IP plan, VLAN IDs, DHCP scope and firewall rules, approved by network and security owners.

  3. Prepare BMC access and PXE infrastructure

    Confirm that each pilot server's out-of-band controller is reachable from the Ironic conductor network and that it supports the management protocol your chosen driver uses, such as IPMI or a vendor Redfish interface where the driver supports it. Store BMC credentials in a secrets store and give each one a dedicated account with only the rights needed for power and boot control. Stand up the TFTP and HTTP services and the boot images that PXE clients load. The output is a reachability report from the conductor for every pilot server and a successful PXE boot of a neutral test image.

  4. Deploy the Ironic services

    Deploy the Ironic API, conductor and, where your process uses it, inspector components through the tool chosen in the first step. Connect them to Keystone, Glance and Neutron, and to Nova if you run Ironic inside an OpenStack cloud. If you run Ironic standalone, confirm which services you actually need before wiring anything else. Enable only the hardware drivers your pilot servers require, and record the cleaning and deploy step configuration so it can be reviewed later. The output is healthy services, a conductor that lists the enabled drivers, and a successful authenticated API call from a client.

  5. Enroll and clean a pilot node

    Create a node record for one pilot server with its driver, BMC address, credential reference, boot mode and port MAC addresses. Move the node through the manageable and available states, running inspection if your process includes it. Then run cleaning to confirm the node resets without manual steps. Check that the power state, boot device and port records match the physical server before any tenant use. The output is an enrollment record the team can reproduce from its source file, and a cleaning run that completes unattended with its logs saved.

  6. Validate images and deploy test instances

    Register the operating system images and any custom images in Glance, and record the image properties Ironic needs to deploy them. Deploy one bare metal instance from each image family you plan to offer. Confirm network reachability on the tenant network, metadata access, SSH key injection and that the instance boots from the intended disk. Then tear the instance down and redeploy it to the same node to confirm cleaning between tenants works. The output is a short validation log per image covering boot, network and clean teardown, along with an agreed list of supported images.

  7. Roll out to the remaining hardware

    Enroll the rest of the fleet in batches using the same source records and review steps used for the pilot. The pace depends on the number of hardware models, the firmware and BMC variations within each model, the switch port work still open, and how many validation runs each model needs. Watch conductor logs and cleaning failures during each batch, and pause a model's rollout when the same failure repeats. The output is an inventory in which every node has a validated enrollment record, a named owner and a recorded state, plus a runbook for adding and retiring servers.

What drives OpenStack Ironic implementation effort and cost

This table lists the main drivers of Ironic implementation effort and shows how each one raises or lowers the work, with the step that keeps it manageable. Read it before requesting a quote, because hardware variety, network automation and node count usually shape the written scope most. The main takeaway is that a fair quote depends on these inputs, so inventory them before you ask for pricing.

DriverEffect on effort and costWhat reduces it or belongs in the quote
Hardware variety and BMC firmwareEach server model and BMC firmware level needs its own testing of enrollment, power control and cleaning.Standardize on fewer models and firmware baselines. Ask for a per-model test matrix in the quote.
Network design and switch automationEach provisioning or tenant network, VLAN and switch port change adds design and configuration work.Document provisioning, cleaning and tenant networks first. Confirm whether switch automation is in scope.
Number of images and operating systemsEach operating system, driver set and partition layout adds image build, test and maintenance work over time.Limit the catalog to supported operating systems. Ask who builds and updates images after handover.
Integration with the existing cloudConnecting to Keystone, Nova, Neutron, Glance, identity or monitoring adds design and test work.List every system the service must integrate with. Ask which integrations are fixed scope and which are optional.
Security model for BMC credentialsBMC credentials are highly privileged, so choices about storage, rotation and access add design and approval work.Decide the secrets store, rotation process and access model before enrollment. Request audit logging in the scope.
Number of nodes to enrollEnrollment, validation and cleaning run per node, so higher volume increases test time and operating load.Enroll a representative pilot group first. Ask the quote to state the node count and the batch approach.
Ongoing operations after go-liveFirmware updates, image refreshes and new hardware generations recur and need named owners in your team.Agree who owns firmware, image and enrollment changes. Ask whether a support retainer covers them.
Cost components in a quoteDesign, build, testing and handover are one-time costs, while support and image maintenance recur.Ask for separate line items for one-time work, recurring support and any hardware or licensing you buy.

How Ironic connects to Keystone, Neutron, Glance and Ceph

Ironic depends on four services during enrollment, networking, deployment and storage, and each card names the decision that must be settled before hardware is enrolled. Changing these choices after nodes are in service usually means redeploying nodes, so treat them as design inputs to settle first.

Keystone for identity and federation

Keystone issues the tokens behind Ironic API calls and policy checks, so every enrollment, deployment and power action is tied to a named identity and project. Keystone federation can connect the cloud to a corporate identity provider over SAML 2.0 or OpenID Connect, and mapping rules decide which federated users receive which groups, roles and projects. Decide who may enroll hardware and who may deploy onto it, then confirm the mapping rules and Ironic policy settings in your chosen release.

Neutron for provisioning and tenant networks

Neutron networks carry the PXE and DHCP traffic that lets a server boot its deployment image, and they also host the cleaning network used between tenants. Tenant networks for bare metal instances are typically isolated at the switch, so the decision is which switch integration and VLAN model you run and who owns top-of-rack configuration. Confirm with your network team which mechanism driver supports your switch models and how provisioning traffic is kept off tenant segments in your release.

Glance for deployed images

Glance stores the operating system images that Ironic writes to a node's disk during deployment, so image availability decides whether a node can be deployed at all. The decision is which image formats and boot modes your hardware uses, and whether nodes fetch images directly from Glance or through a caching path your release supports. Confirm image checksums or signing, the image sizes your network can transfer within your deployment window, and how image updates avoid touching nodes already in service.

Ceph for Glance and guest storage

Ceph's documented role in OpenStack is backing Glance images, Cinder volumes and backups, and Nova guest disks, which lets virtual machines boot from Ceph without local hypervisor storage. Whether Ironic-managed nodes use Ceph for their images, volumes or boot disks is a separate question, so confirm it for your chosen release before you size Ceph pools. The decision is whether bare metal boot storage stays on local disks, moves to a Cinder volume or comes from a shared image backend, and each option changes the failure domains and network paths you must plan.

Enrolling existing servers and moving workloads onto bare metal

Enrollment quality decides whether Ironic can provision anything at all, so treat the node inventory as a controlled dataset rather than a one-time import. For each server, record the baseboard management controller (BMC) address, a reference to its credentials, the Ironic driver that matches its management protocol, and the driver settings that protocol needs. Each network interface's MAC address becomes a port record that Ironic uses during PXE boot and network switching. Hardware details such as CPU, memory, disks and root device hints should come from an inspection run on the hardware, with the results checked against your asset records. Confirm which management protocols your server models support and which driver your OpenStack release provides for them before you enroll the first node.

An inventory starts to drift as soon as someone replaces a network card, updates BMC firmware, moves a host to another rack or changes a disk layout. Assign a named owner for the node dataset and decide whether Ironic or your configuration management database is the source of truth. Whichever system wins, the other should be reconciled on a schedule, and a hardware change should trigger a fresh inspection before the node is used again. Store BMC credentials in a secrets manager that your Ironic services can read, not in the node records themselves. Ask any implementation partner to state in the written scope how inventory reconciliation will run after handover, who approves changes and how stale records are retired.

Moving existing servers onto Ironic-managed hardware starts with knowing what each host runs. List the applications, data stores, owners and network dependencies on every machine, and mark the hosts that cannot be interrupted. Check firmware on the BMC, system BIOS or UEFI and network adapters against the versions your hardware and deployment support, and update them before enrollment, because a firmware change after inspection can make inspection data wrong. Migrate data off each host first: replicate or back up volumes, test restores on a separate system, drain workloads and confirm nothing else depends on the host. Only then reimage it through Ironic. Cleaning wipes the disks, so confirm that no data remains on them before the first deployment.

The OpenInfra VMware to OpenStack Migration Guide covers moving virtual machines, including a feature comparison, a migration framework, hardware recommendations and case studies. It is useful for the VM side of a consolidation project, but do not assume its process applies to physical servers. Bare metal moves have no hypervisor snapshot to fall back on, disks are physical, boot modes and partition layouts often change, and each outage window applies to a single machine. Write a separate runbook for each class of server, covering the operating system image, drivers, rollback by restoring from verified backups and the people who approve each cutover. Start with a pilot host, review what went wrong, and only then schedule the rest of the fleet. Confirm these steps with your own platform team before you commit to dates.

Questions teams ask before hiring help with Ironic

What drives the cost of an Ironic bare metal project?

Scope, hardware variety and the number of network and identity integrations drive most of the cost. Cost comes from four areas: discovery and design, build work (enrollment, cleaning, networking and any Keystone or Nova integration), testing across your server models, and documentation and handover. Most of that effort is one-time. Recurring costs appear when you add a support retainer, plan upgrades between OpenStack releases or add new server models later. Ask each quote to list the hardware models in scope, whether Ironic runs standalone or inside OpenStack, which network changes the partner makes and which your team makes, and what support follows handover. Fixed-scope work is agreed in writing before it starts, so the quote should also state what is excluded.

How long does an Ironic implementation take, and what sets the pace?

Duration depends more on approvals and access than on Ironic configuration itself. The pace is set by the number of hardware models, how ready the out-of-band management network is, how long network and security change approvals take, and whether you deploy standalone or inside an existing OpenStack cloud. Release choice also matters. The 2026.1 Gazpacho release is a SLURP release, which suits teams that want a longer support window between upgrades. Ask for a schedule with dependencies listed, the client-side tasks that gate each phase and confirmation of the test hardware available. Treat any single duration as unconfirmed until those inputs are known, because a late approval or an unexpected server model can move the whole plan.

What does our team have to provide for a bare metal engagement?

Most delays trace back to inputs the client team owns. Expect to provide access to the out-of-band management network so provisioning can reach each server's BMC, a list of server models and firmware versions, switch access or change requests for provisioning VLANs, and DHCP and PXE arrangements approved by network operations. You also need a named owner who can decide on boot modes, image standards and cleaning policy. If users will sign in through Keystone federation, provide the identity provider details early. Lab hardware for validation before production enrollment prevents many surprises. Confirm these responsibilities in the written scope so each party knows who acts on each item and when.

Can our in-house team run Ironic without outside help?

Yes, if the team already operates Linux, network switches and OpenStack, and can take on the BMC and PXE details. The trade-off is time and concentration risk. Ironic work spans hardware management, networking, image handling and an OpenStack control plane, and each server model needs repeatable testing. A common middle path is a partner-led build with a documented handover, followed by the internal team making routine changes. Before deciding, check whether at least two people can own the bare metal stack, whether you have lab hardware to test upgrades and cleaning changes, and whether the team can absorb the work of each OpenStack release cycle. A short written skills review will show which parts to keep in-house and which to hand over.

What is the difference between standalone Ironic and Ironic inside OpenStack?

Standalone Ironic manages physical servers directly through its own API, without a Nova compute layer or a full OpenStack cloud around it. It fits teams that need bare metal enrollment and provisioning for infrastructure tasks but do not need self-service instances. Ironic inside OpenStack exposes servers as instances through Nova, uses Neutron for tenant networking, Glance for images and Keystone for identity, so users can request bare metal the same way they request virtual machines. The trade-off is more dependencies. Each service must match your release, and network and identity changes affect more components. Both modes share the PXE and IPMI basics and the cleaning process. Confirm which mode fits your use case, and whether you already run a cloud, before the scope is set.

When do bare metal instances make more sense than virtual machines?

Choose bare metal when workloads need the full server, such as direct hardware access, performance without hypervisor overhead, specialized accelerators or licensing tied to physical cores. Virtual machines fit better when you need fast, frequent provisioning, dense consolidation or easy resizing. Bare metal provisioning is slower than starting a virtual machine, because each server must boot, be cleaned and be configured, and hardware lifecycle work such as firmware updates needs planning. Test the decision against your own workloads by measuring boot time, performance and operational effort on one server model before standardizing. Many teams keep both options and assign each workload deliberately, so ask whether a mixed fleet fits your operating model.

What usually breaks during PXE and IPMI bare metal provisioning?

The most common failures sit at the boundary between the server and the network. Typical causes include BMC addresses that the conductor cannot reach, IPMI credentials that differ from the inventory, boot mode mismatches between UEFI and legacy BIOS, DHCP or PXE settings that conflict with existing services, and switch ports that do not carry the provisioning VLAN. Cleaning steps often fail when firmware or disk layouts differ across batches of the same model. To reduce these risks, enroll one server per model first, keep a verified inventory of BMC addresses and credentials, and record the boot mode and firmware for each model. Repeat cleaning and redeployment tests on a spare node after every change, and write these checks into the test plan.

How DeployOpen scopes and delivers Ironic implementations

DeployOpen plans, builds and supports OpenStack Ironic bare metal provisioning inside your own data centers, cloud accounts or air-gapped networks. Most engagements are fixed-scope, so the hardware, PXE and IPMI design, networking and handover are agreed in writing before work starts.

How we scope

  • The written scope names the hardware, the Ironic deployment mode and the OpenStack release targeted.
  • It lists enrollment, cleaning, PXE and IPMI network design, and which instances move to bare metal.
  • Deliverables and timelines are agreed in writing before any build work begins.

How we build

  • Deploy the control plane with Kolla-Ansible or OpenStack-Ansible, matching your container and host preferences.
  • Configure PXE boot, IPMI access and the provisioning network, then enroll and test each hardware model.
  • Validate cleaning steps and deployment images on pilot nodes before enabling production tenants.

How we hand over

  • Runbooks cover enrollment, node lifecycle states, cleaning failures and recovery procedures.
  • Configuration lives in version control, with documented network, image and credential inventories.
  • Operator knowledge transfer covers troubleshooting PXE, IPMI and network boot failures.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Upgrade planning follows the OpenStack SLURP cadence, with Ironic and Nova versions checked together.
  • Ask whether support covers firmware, IPMI credentials and hardware lifecycle, which you may own separately.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.