Doug Goldstein 2fc52e9284 fix: MAC address handling was not always normalized
The code base did not consistently always normalize the MAC address when
running it through inspection and multiple hooks. This resulted in ports
being deleted because the MAC address was not found on the system due to
different capitalization. Or the PXE enabled flag not being set due to a
mismatch.

Conflicts:
 - ironic/drivers/modules/inspector/hooks/ports.py
 - ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py
 - ironic/drivers/modules/redfish/inspect.py
 - ironic/tests/unit/drivers/modules/redfish/test_inspect.py
 - ironic/drivers/modules/redfish/utils.py

 Conflicts due to the ports hook receiving support for 'client_id' in
 master but that feature was not backported. The redfish inspect module
 was refactored in master to break up the large function into helper
 functions so the location of the code moved from master. The utils
 module was also refactored and the ambiguous names of imports were
 changed in master.

Assisted-by: gpt-5.4 high
Closes-Bug: 2143955
Change-Id: Ice3a49ebb0f1d20c52fb1e5932080a4605a342c4
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
(cherry picked from commit 424f2e8fa2)
2026-03-13 09:09:00 -05:00
2025-12-26 03:11:50 +00:00
2025-09-04 22:45:57 +09:00
2025-10-23 22:56:48 +00:00
2024-02-02 23:17:12 +09:00
2025-09-11 12:38:08 +00:00
2020-04-13 07:29:37 -07:00
2013-05-02 14:55:43 -04:00
2025-05-05 22:35:29 +00:00

Ironic

image

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 using bifrost. By default, it will use PXE and IPMI to interact with bare metal machines. Ironic also supports vendor-specific plug-ins which may implement additional functionality.

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

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

Description
A service for managing and provisioning Bare Metal servers.
Readme 333 MiB
Languages
Python 97.9%
Shell 1.9%