Ironic Hardware Types & Interface Families

Ironic Hardware Types & Interface Families An architecture diagram generated by Archify. intel-ipmi · adds Intel SST-PP management · Hardware types — entry points in ironic.hardware.types intel-ipmi adds Intel SST-PP management ipmi · ipmitool power and management · Hardware types — entry points in ironic.hardware.types ipmi ipmitool power and management manual-management · no BMC, an operator powers it · Hardware types — entry points in ironic.hardware.types manual-management no BMC, an operator powers it redfish · DMTF Redfish over HTTPS · Hardware types — entry points in ironic.hardware.types redfish DMTF Redfish over HTTPS idrac · Dell, subclasses redfish · Hardware types — entry points in ironic.hardware.types idrac Dell, subclasses redfish AbstractHardwareType · drivers, in preference order · Composition — supported, then enabled, then chosen AbstractHardwareType drivers, in preference order node.<x>_interface · one driver per family · Composition — supported, then enabled, then chosen node.<x>_interface one driver per family power · ipmitool · redfish · idrac · Out-of-band — the BMC answers with the server powered off power ipmitool · redfish · idrac management · vendor · ipmitool · redfish · noop_mgmt · Out-of-band — the BMC answers with the server powered off management · vendor ipmitool · redfish · noop_mgmt network + storage · flat · neutron · noop · cinder · Neither side — these call other OpenStack services network + storage flat · neutron · noop · cinder deploy · direct · anaconda · ansible · In-band — needs the IPA ramdisk booted and heartbeating deploy direct · anaconda · ansible inspect · raid · agent, or redfish out-of-band · In-band — needs the IPA ramdisk booted and heartbeating inspect · raid agent, or redfish out-of-band bios · firmware · console · redfish · idrac-redfish · socat · Out-of-band — the BMC answers with the server powered off bios · firmware · console redfish · idrac-redfish · socat BMC · Redfish 443 · IPMI 623 · Out-of-band — the BMC answers with the server powered off BMC Redfish 443 · IPMI 623 Neutron · Cinder · ports, DHCP, VLANs · volumes · Neither side — these call other OpenStack services Neutron · Cinder ports, DHCP, VLANs · volumes boot · rescue · ipxe · pxe · virtual-media · In-band — needs the IPA ramdisk booted and heartbeating boot · rescue ipxe · pxe · virtual-media IPA ramdisk · agent HTTP API + heartbeat · In-band — needs the IPA ramdisk booted and heartbeating IPA ramdisk agent HTTP API + heartbeat subclasses subclasses extends extends extends first supported and enabled power on/off, status boot device, sensors settings, serial console REST calls agent commands over HTTP agent commands chains the ramdisk Hardware types — entry points in ironic.hardware.types Composition — supported, then enabled, then chosen Out-of-band — the BMC answers with the server powered off Neither side — these call other OpenStack services In-band — needs the IPA ramdisk booted and heartbeating

Walkthrough - how one node resolves its thirteen interfaces

  • • 1. You create the node with driver=redfish; the API just stores that string in the node's driver column.
  • • 2. On load, the conductor looks up redfish in the ironic.hardware.types entry points and builds that class.
  • • 3. The class lists supported_<x>_interfaces - power, boot, deploy and ten more - in preference order.
  • • 4. The conductor intersects that list with enabled_<x>_interfaces from ironic.conf; the first survivor wins.
  • • 5. The winner's name is written to node.power_interface, node.deploy_interface and so on - one per family.
  • • 6. Out-of-band work (power, management, bios, firmware, console, vendor) goes to the BMC over Redfish or IPMI.
  • • 7. In-band work (deploy, rescue) needs the IPA ramdisk booted first; inspect, raid and boot can go either way.
  • • A hardware type is a bundle, not a driver: it only says which drivers are allowed and in what order.
  • • Deploy interfaces are exactly: anaconda, ansible, autodetect, bootc, custom-agent, direct, fake, noop, ramdisk - there is no iscsi one.