Ironic Deploy: from Nova to ACTIVE

Ironic Deploy: from Nova to ACTIVE A sequence diagram generated by Archify. PUT /v1/nodes/{id}/states/provision RPC do_node_deploy (hash-ring topic) 202 Accepted, target ACTIVE ironic-api never talks to the BMC; only a conductor does. PXE config + DHCP bootfile options alt boot: insert Redfish vmedia ISO set boot device PXE (or CDROM) power ON via Redfish / ipmitool DHCP: bootfile + next-server TFTP ipxe.efi, then iPXE chainload HTTP GET kernel + initramfs redfish-virtual-media replaces DHCP/TFTP with an ISO attached over Redfish. GET /v1/lookup?addresses=<MACs> node uuid + agent_token POST /v1/heartbeat/{node} RPC heartbeat, node is DEPLOYWAIT Every heartbeat re-enters through ironic-api and is forwarded by RPC. agent API: run write_image step GET image_url + verify checksum write image to root device write configdrive partition ramdisk deploy writes nothing to disk; anaconda runs a kickstart install instead. install_bootloader (EFI / grub) set boot device DISK, power cycle GET /v1/nodes/{id} is ACTIVE 1 - The request is accepted 2 - Boot the IPA ramdisk 3 - The agent finds its own node 4 - Deploy steps write the image 5 - Hand the machine over Nova / OpenStack CLI · Sequence participant Nova / OpenStack CLI ironic-api · Sequence participant ironic-api ironic-conductor · Sequence participant ironic-conductor BMC (Redfish/IPMI) · Sequence participant BMC (Redfish/IPMI) DHCP + TFTP + HTTP · Sequence participant DHCP + TFTP + HTTP IPA ramdisk (node) · Sequence participant IPA ramdisk (node) Image store · Sequence participant Image store Node local disk · Sequence participant Node local disk Legend request return security async trace default message

Walkthrough 1/2 — get the agent running

  • • 1. You PUT target=active. Nothing runs on the machine yet.
  • • 2. The API hands the work to the conductor that owns the node.
  • • 3. The conductor locks it; provision_state becomes deploying.
  • • 4. Out-of-band: BMC sets boot to network and powers on.
  • • 5. DHCP gives the machine an address and a bootloader.
  • • 6. iPXE chainloads; the IPA ramdisk boots into memory.
  • • 7. IPA calls the lookup endpoint and starts heartbeating.

Walkthrough 2/2 — write the disk, hand it over

  • • 8. First heartbeat: the conductor starts driving deploy steps.
  • • 9. The conductor tells the agent which image to write.
  • • 10. The agent streams it to disk, verifying the checksum.
  • • 11. It writes the config-drive: hostname, keys, network.
  • • 12. Out-of-band: boot device flips to disk, machine reboots.
  • • 13. Lock released. The node is active and yours.

Why it looks like this

  • • A bare machine has no agent, so one is booted over the network.
  • • Out-of-band and in-band alternate the whole way through.
  • • No iSCSI deploy exists: direct writes, ramdisk does not.