Skip to content

Commit 8001350

Browse files
authored
Merge pull request #1601 from rackerlabs/backport-ironic
feat(ironic): backport redfish lldp inspection and port API fixes
2 parents 6432d6d + 8ab298f commit 8001350

10 files changed

Lines changed: 634 additions & 32 deletions

containers/ironic/patches/0001-pass-along-physical_network-to-neutron-from-the-bare.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From f7d06492fe30357ec3bc09d319f050adbf18aced Mon Sep 17 00:00:00 2001
1+
From 386faaeaf4a900c4c4591fae4e735164a0f38b45 Mon Sep 17 00:00:00 2001
22
From: Doug Goldstein <cardoe@cardoe.com>
33
Date: Wed, 22 Oct 2025 12:58:41 -0500
4-
Subject: [PATCH] pass along physical_network to neutron from the baremetal
4+
Subject: [PATCH 1/8] pass along physical_network to neutron from the baremetal
55
port
66

77
When plugging a baremetal port in using the 'neutron' interface, send
@@ -29,7 +29,7 @@ Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2929
create mode 100644 releasenotes/notes/neutron-port-binding-include-physical-network-8d8cbe17716d341a.yaml
3030

3131
diff --git a/ironic/common/neutron.py b/ironic/common/neutron.py
32-
index 7d4ce2db9..9f95073b7 100644
32+
index b53c2c7e8..b2ba7749b 100644
3333
--- a/ironic/common/neutron.py
3434
+++ b/ironic/common/neutron.py
3535
@@ -371,6 +371,10 @@ def add_ports_to_network(task, network_uuid, security_groups=None):
@@ -44,7 +44,7 @@ index 7d4ce2db9..9f95073b7 100644
4444

4545
if not ironic_port.pxe_enabled:
4646
diff --git a/ironic/drivers/modules/network/common.py b/ironic/drivers/modules/network/common.py
47-
index 19c30a4dd..8d033984d 100644
47+
index 04413663c..0e3b9b0b0 100644
4848
--- a/ironic/drivers/modules/network/common.py
4949
+++ b/ironic/drivers/modules/network/common.py
5050
@@ -272,6 +272,17 @@ def plug_port_to_tenant_network(task, port_like_obj, client=None):
@@ -115,7 +115,7 @@ index 406e42a7e..4bc0140b9 100644
115115
def test__add_ip_addresses_for_ipv6_stateful(self, mock_update):
116116
subnet_id = uuidutils.generate_uuid()
117117
diff --git a/ironic/tests/unit/drivers/modules/network/test_common.py b/ironic/tests/unit/drivers/modules/network/test_common.py
118-
index 286ac35d3..0e01d43c7 100644
118+
index 3c78a3ca1..2365dbcdd 100644
119119
--- a/ironic/tests/unit/drivers/modules/network/test_common.py
120120
+++ b/ironic/tests/unit/drivers/modules/network/test_common.py
121121
@@ -489,6 +489,77 @@ class TestCommonFunctions(db_base.DbTestCase):

containers/ironic/patches/0001-Add-SKU-field-to-Redfish-inspection.patch renamed to containers/ironic/patches/0002-Add-SKU-field-to-Redfish-inspection.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From 217030928bccd1ea08e81dc2a97b27c98c721d70 Mon Sep 17 00:00:00 2001
1+
From 2ce4304ad46bd37c526740d3a05544aa8cdd2937 Mon Sep 17 00:00:00 2001
22
From: Nidhi Rai <nidhi.rai94@gmail.com>
33
Date: Thu, 11 Sep 2025 17:05:22 +0530
4-
Subject: [PATCH] Add SKU field to Redfish inspection
4+
Subject: [PATCH 2/8] Add SKU field to Redfish inspection
55

66
Collect SKU (Service Tag) from Redfish ComputerSystem
77
and include it in system_vendor inventory data.

containers/ironic/patches/0001-fix-redfish-inspect-system-product-name.patch renamed to containers/ironic/patches/0003-fix-redfish-inspect-system-product-name.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From c9c21eda6fd91f74266d623496d0a0558a40bf0d Mon Sep 17 00:00:00 2001
1+
From 7b1a65925b9462b0a84fe6e840ff0c90b3b19bfc Mon Sep 17 00:00:00 2001
22
From: Doug Goldstein <cardoe@cardoe.com>
33
Date: Mon, 15 Dec 2025 16:35:57 -0600
4-
Subject: [PATCH] fix redfish inspect system product name
4+
Subject: [PATCH 3/8] fix redfish inspect system product name
55

66
The intention of this code is to read the system product name which is
77
stored in the model field per the Redfish spec and not in the name field
@@ -18,11 +18,11 @@ Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
1818
create mode 100644 releasenotes/notes/redfish-inspect-product-name-bd537f417d35b254.yaml
1919

2020
diff --git a/ironic/drivers/modules/redfish/inspect.py b/ironic/drivers/modules/redfish/inspect.py
21-
index 3e269a8a9..cfafc62b5 100644
21+
index 59c3ce2b0..69f0f0c09 100644
2222
--- a/ironic/drivers/modules/redfish/inspect.py
2323
+++ b/ironic/drivers/modules/redfish/inspect.py
24-
@@ -153,8 +153,8 @@ class RedfishInspect(base.InspectInterface):
25-
inventory['pci_devices'] = pcie_devices
24+
@@ -149,8 +149,8 @@ class RedfishInspect(base.InspectInterface):
25+
inventory['interfaces'].append(iface)
2626

2727
system_vendor = {}
2828
- if system.name:

containers/ironic/patches/0001-hack-for-scheduling-purposes-ignore-ports-with-categ.patch renamed to containers/ironic/patches/0004-hack-for-scheduling-purposes-ignore-ports-with-categ.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From 60cc94d4c3271efcfd787c6276e306ee14cdce72 Mon Sep 17 00:00:00 2001
1+
From 0d800dfef4ab8516406c068835de2e4e52905dd9 Mon Sep 17 00:00:00 2001
22
From: Doug Goldstein <cardoe@cardoe.com>
33
Date: Tue, 13 Jan 2026 11:08:04 -0600
4-
Subject: [PATCH] hack: for scheduling purposes ignore ports with category
4+
Subject: [PATCH 4/8] hack: for scheduling purposes ignore ports with category
55
storage
66

77
We want to ignore ports that are in category storage for being eligible
@@ -15,7 +15,7 @@ Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
1515
1 file changed, 17 insertions(+)
1616

1717
diff --git a/ironic/drivers/modules/network/common.py b/ironic/drivers/modules/network/common.py
18-
index 04413663c..1ab3e4dbe 100644
18+
index 0e3b9b0b0..d19d6b0a1 100644
1919
--- a/ironic/drivers/modules/network/common.py
2020
+++ b/ironic/drivers/modules/network/common.py
2121
@@ -34,6 +34,21 @@ LOG = log.getLogger(__name__)

containers/ironic/patches/0001-feat-skip-invalid-mac-addr-interfaces-in-redfish-ins.patch renamed to containers/ironic/patches/0005-feat-skip-invalid-mac-addr-interfaces-in-redfish-ins.patch

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
From 3220a0cc6617dfa026ff3febc0bdd4a227320759 Mon Sep 17 00:00:00 2001
1+
From da011a985fce208c3ad4eeb13d635323b1cbfc8d Mon Sep 17 00:00:00 2001
22
From: Doug Goldstein <cardoe@cardoe.com>
33
Date: Tue, 13 Jan 2026 11:49:05 -0600
4-
Subject: [PATCH] feat: skip invalid mac addr interfaces in redfish inspect add
5-
speed
4+
Subject: [PATCH 5/8] feat: skip invalid mac addr interfaces in redfish inspect
5+
add speed
66

77
Refactor the redfish interfaces inspection by moving it to its own
88
function, but preserving the behavior of not having an interfaces key in
@@ -18,7 +18,7 @@ Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
1818
2 files changed, 35 insertions(+), 8 deletions(-)
1919

2020
diff --git a/ironic/drivers/modules/redfish/inspect.py b/ironic/drivers/modules/redfish/inspect.py
21-
index 6f951f237..5ee052713 100644
21+
index 69f0f0c09..9786c9f46 100644
2222
--- a/ironic/drivers/modules/redfish/inspect.py
2323
+++ b/ironic/drivers/modules/redfish/inspect.py
2424
@@ -14,6 +14,7 @@ Redfish Inspect Interface
@@ -41,9 +41,9 @@ index 6f951f237..5ee052713 100644
4141
- inventory['interfaces'].append(iface)
4242
+ inventory['interfaces'] = self._get_interface_info(task, system)
4343

44-
pcie_devices = self._get_pcie_devices(system.pcie_devices)
45-
if pcie_devices:
46-
@@ -310,6 +306,33 @@ class RedfishInspect(base.InspectInterface):
44+
system_vendor = {}
45+
if system.model:
46+
@@ -297,6 +293,33 @@ class RedfishInspect(base.InspectInterface):
4747
"""
4848
return None
4949

@@ -78,7 +78,7 @@ index 6f951f237..5ee052713 100644
7878
# NOTE(JayF): Checking truthiness here is better than checking for None
7979
# because if we have an empty list, we'll raise a
8080
diff --git a/ironic/tests/unit/drivers/modules/redfish/test_inspect.py b/ironic/tests/unit/drivers/modules/redfish/test_inspect.py
81-
index fd9c9e398..b3ba67c9f 100644
81+
index c81fb3934..4b8d08217 100644
8282
--- a/ironic/tests/unit/drivers/modules/redfish/test_inspect.py
8383
+++ b/ironic/tests/unit/drivers/modules/redfish/test_inspect.py
8484
@@ -108,6 +108,7 @@ class RedfishInspectTestCase(db_base.DbTestCase):
@@ -97,7 +97,7 @@ index fd9c9e398..b3ba67c9f 100644
9797
eth_interface_mock2.status.state = sushy.STATE_DISABLED
9898
eth_interface_mock2.status.health = sushy.HEALTH_OK
9999

100-
@@ -235,9 +237,11 @@ class RedfishInspectTestCase(db_base.DbTestCase):
100+
@@ -203,9 +205,11 @@ class RedfishInspectTestCase(db_base.DbTestCase):
101101
system_vendor['system_uuid'])
102102

103103
expected_interfaces = [{'mac_address': '00:11:22:33:44:55',

0 commit comments

Comments
 (0)