OpenStack Ironic — Networking Models (noop · flat · neutron)

OpenStack Ironic — Networking Models (noop · flat · neutron) An architecture diagram generated by Archify. ironic-conductor · calls the network interface · Architecture component ironic-conductor calls the network interface noop · every method is a pass · Architecture component · you wire the switch noop every method is a pass you wire the switch flat · binds ports, one shared net · Architecture component flat binds ports, one shared net neutron · a port per node, per role · Architecture component neutron a port per node, per role Neutron API · ports · VLANs · binding · Architecture component Neutron API ports · VLANs · binding Bare metal node · PXE NIC + IPA ramdisk · Architecture component Bare metal node PXE NIC + IPA ramdisk Your own network · Ironic programs nothing · Provisioning network — the node's PXE NIC sits on one of these three Your own network Ironic programs nothing One flat network · no tenant isolation · Provisioning network — the node's PXE NIC sits on one of these three · cleaning_network One flat network no tenant isolation cleaning_network Provisioning net · one Neutron port per node · Provisioning network — the node's PXE NIC sits on one of these three · provisioning_network Provisioning net one Neutron port per node provisioning_network Switch port · bound by local_link_connection · Architecture component Switch port bound by local_link_connection BMC · Redfish 443 · IPMI 623 · Management / BMC network BMC Redfish 443 · IPMI 623 dhcp: none · no-op provider · Architecture component dhcp: none no-op provider dhcp: dnsmasq · host + opts files on disk · Architecture component dhcp: dnsmasq host + opts files on disk dhcp: neutron · extra_dhcp_opts on the port · Architecture component dhcp: neutron extra_dhcp_opts on the port Tenant network · where the instance ends up · Tenant network Tenant network where the instance ends up agent API + heartbeat power · boot device network_interface nothing is programmed PXE + IPA callbacks dhcp_provider = none same bind for both roles writes host + opts files creates a port per node boot options on the port port create + binding ML2 programs the port VLAN flip after deploy Provisioning network — the node's PXE NIC sits on one of these three Tenant network Management / BMC network Legend Backend Cloud Security External

Walkthrough 1/2 — deploy with neutron

  • • 1. You ask Ironic to deploy an AVAILABLE node
  • • 2. The neutron interface creates a provisioning port
  • • 3. It binds it with the node's local_link_connection
  • • 4. Neutron's ML2 driver programs the real switch port
  • • 5. The node PXE-boots and IPA writes the disk

Walkthrough 2/2 — the VLAN flip

  • • 6. A deploy step removes the provisioning port
  • • 7. It then configures the tenant port instead
  • • 8. The switch port flips to the tenant VLAN
  • • 9. With flat, none of this happens: one bind, one network

What to remember

  • • node.network_interface picks noop, flat or neutron, per node
  • • flat shares one network, so tenants are not isolated