A service for managing and provisioning Bare Metal servers.
Find a file
Milan Fencik 9e47609f00 fix: iPXE boot interface PXE capability detection
The neutron network interface's add_ports_to_network() function only
checked for 'pxe_boot' capability when determining PXE capability,
but iPXE is also a form of PXE booting and should be treated the
same way. This caused inconsistent behavior for boot interfaces like
'http-ipxe' that have 'ipxe_boot' capability but not 'pxe_boot'
capability.

Without this fix, iPXE boot interfaces were incorrectly treated as
non-PXE capable, causing the neutron interface to create ports for
all baremetal ports with local_link_connection info during cleaning
operations, regardless of their pxe_enabled setting.

This change adds 'pxe_boot' capability to both iPXEBoot and
iPXEHttpBoot classes, ensuring that iPXE boot interfaces are
correctly recognized as PXE-capable.

Additionally, this adds the missing pxe_boot capability check to
the remove_ports_from_network() function, which was previously
missing this logic entirely. This ensures consistent port creation
and deletion behavior, preventing orphaned neutron ports after
cleaning operations.

Change-Id: I7721f917fb723e8a4cef69e0f7be1ece0238d7ed
Signed-off-by: Milan Fencik <milan.fencik@rackspace.co.uk>
2025-12-18 12:35:48 +00:00
api-ref Merge "[api-ref] Fix api-ref to mention list port by cg" 2025-12-11 14:46:30 +00:00
devstack Merge "Switch graphical console image to ubuntu by default" 2025-12-05 16:38:12 +00:00
doc fix: inspection rules docs to match the code 2025-12-17 10:18:52 -06:00
etc/ironic Configuration file for Trait Based Networking 2025-11-21 12:20:46 -06:00
ironic fix: iPXE boot interface PXE capability detection 2025-12-18 12:35:48 +00:00
playbooks Run metal3 integration job using UEFI boot (default) 2025-10-24 10:45:41 +02:00
redfish-interop-profiles Update the redfish interoperability profile 2024-06-27 16:24:24 +02:00
releasenotes fix: iPXE boot interface PXE capability detection 2025-12-18 12:35:48 +00:00
tools Merge "Trait Based Networking Simulator" 2025-12-16 20:37:00 +00:00
zuul.d Use new bifrost ci job name 2025-12-01 15:07:06 +01:00
.coveragerc Use .coveragerc file 2024-02-02 23:17:12 +09:00
.gitignore Add standalone networking service for ironic 2025-11-27 11:39:59 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:40:53 +00:00
.mailmap Add my new address to .mailmap 2020-04-13 07:29:37 -07:00
.pre-commit-config.yaml chore: bump to latest pre-commit tools 2025-11-23 14:06:28 -06:00
.stestr.conf Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
bindep.txt Drop xinetd/tftpd on CentOS 9 2025-12-02 14:49:39 +01:00
CONTRIBUTING.rst Project Contributing updates for Goal 2020-02-20 02:01:21 +00:00
driver-requirements.txt Remove sushy-oem-idrac from driver requirements 2025-10-28 17:26:28 +01:00
LICENSE Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
pyproject.toml Merge "Add a kubernetes provider for console container" 2025-12-05 16:38:18 +00:00
README.rst doc: trivial: Quick revision of README 2025-11-20 07:33:02 -08:00
requirements.txt Merge "Add PCIe function fields to redfish inspection" 2025-12-10 04:11:33 +00:00
setup.cfg Migrate setup configuration to pyproject.toml 2025-09-22 11:46:52 +01:00
setup.py add pyproject.toml to support pip 23.1 2024-11-05 08:00:24 -06:00
test-requirements.txt Drop direct dependency on iso8601 2025-03-01 06:06:01 +00:00
tox.ini Add standalone networking service for ironic 2025-11-27 11:39:59 -05:00

======
Ironic
======

.. image:: https://governance.openstack.org/tc/badges/ironic.svg

Overview
--------

Ironic consists of an API and plug-ins for managing and provisioning
physical machines in a security-aware and fault-tolerant manner. It can be
used with nova as a hypervisor driver, or standalone service.

By default, it will use PXE and IPMI/Redfish to interact with bare metal
machines. Some drivers, like the Redfish drivers, also support advanced
features like leveraging HTTPBoot or Virtual Media based boot operations
depending on the configuration by the user. Ironic also supports
vendor-specific plug-ins which may implement additional functionality,
however many vendors have chosen to focus on their Redfish implementations
instead of customized drivers.

Numerous ways exist to leverage Ironic to deploy a bare metal node, above
and beyond asking Nova for a "bare metal" instance, or for asking Ironic
to manually deploy a specific machine. Bifrost and Metal3 are related
projects which seek to simplify the use and interaction of Ironic.

Ironic is distributed under the terms of the Apache License, Version 2.0. The
full terms and conditions of this license are detailed in the LICENSE file.

Project resources
~~~~~~~~~~~~~~~~~

* Documentation: https://docs.openstack.org/ironic/latest
* Source: https://opendev.org/openstack/ironic
* Bugs: https://bugs.launchpad.net/ironic/+bugs
* Wiki: https://wiki.openstack.org/wiki/Ironic
* APIs: https://docs.openstack.org/api-ref/baremetal/index.html
* Release Notes: https://docs.openstack.org/releasenotes/ironic/
* Design Specifications: https://specs.openstack.org/openstack/ironic-specs/

Project status, bugs, and requests for feature enhancements (RFEs) are tracked
in Launchpad:
https://launchpad.net/ironic

For information on how to contribute to ironic, see
https://docs.openstack.org/ironic/latest/contributor