Merge "fix: iPXE boot interface PXE capability detection"

This commit is contained in:
Zuul 2025-12-18 17:54:36 +00:00 committed by Gerrit Code Review
commit 92ef93c384
3 changed files with 15 additions and 3 deletions

View file

@ -489,7 +489,8 @@ def remove_ports_from_network(task, network_uuid):
:param network_uuid: UUID of a neutron network ports will be deleted from.
:raises: NetworkError
"""
add_all_ports = CONF.neutron.add_all_ports
pxe_capability = 'pxe_boot' in task.driver.boot.capabilities
add_all_ports = CONF.neutron.add_all_ports or not pxe_capability
if not add_all_ports:
macs = [p.address for p in task.ports if p.pxe_enabled]
else:

View file

@ -25,7 +25,9 @@ class iPXEBoot(pxe_base.PXEBaseMixin, base.BootInterface):
ipxe_enabled = True
capabilities = ['iscsi_volume_boot', 'ramdisk_boot', 'ipxe_boot']
capabilities = [
'iscsi_volume_boot', 'ramdisk_boot', 'ipxe_boot', 'pxe_boot'
]
def __init__(self):
pxe_utils.create_ipxe_boot_script()
@ -40,7 +42,9 @@ class iPXEHttpBoot(pxe_base.PXEBaseMixin, base.BootInterface):
http_boot_enabled = True
capabilities = ['iscsi_volume_boot', 'ramdisk_boot', 'ipxe_boot']
capabilities = [
'iscsi_volume_boot', 'ramdisk_boot', 'ipxe_boot', 'pxe_boot'
]
def __init__(self):
pxe_utils.create_ipxe_boot_script()

View file

@ -0,0 +1,7 @@
---
fixes:
- |
Fixed iPXE boot interfaces (``ipxe`` and ``http-ipxe``) not being
recognized as PXE-capable by the neutron network interface. This
resolves inconsistent neutron port creation and deletion during
cleaning operations that could lead to orphaned neutron ports.