From b39e26c8ef7f24f6aab36accf69a82a5ff2e22da Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Wed, 14 Jan 2026 13:11:29 -0600 Subject: [PATCH] fix(ironic): set the category on ports based on physical_network Utilize the physical_network to set the port's cateogry to storage or the physical_network type we identified. --- .../inspect_hook_update_baremetal_ports.py | 9 +++++++++ .../tests/test_inspect_hook_update_baremetal_ports.py | 2 ++ 2 files changed, 11 insertions(+) diff --git a/python/ironic-understack/ironic_understack/inspect_hook_update_baremetal_ports.py b/python/ironic-understack/ironic_understack/inspect_hook_update_baremetal_ports.py index 806e4b41d..285099909 100644 --- a/python/ironic-understack/ironic_understack/inspect_hook_update_baremetal_ports.py +++ b/python/ironic-understack/ironic_understack/inspect_hook_update_baremetal_ports.py @@ -117,6 +117,10 @@ def _set_port_attributes( inspected_port: InspectedPort, physical_network: str | None, ): + category = None + if physical_network: + category = physical_network.split("-")[-1] + try: if port.local_link_connection != inspected_port.local_link_connection: LOG.debug( @@ -130,6 +134,7 @@ def _set_port_attributes( if physical_network and not physical_network.endswith("-network"): physical_network = None + category = "storage" if port.physical_network != physical_network: LOG.debug( @@ -141,6 +146,9 @@ def _set_port_attributes( ) port.physical_network = physical_network + if port.category != category: + port.category = category + port.save() except exception.IronicException as e: LOG.warning( @@ -153,6 +161,7 @@ def _clear_port_attributes(port: Any, node_uuid: str): try: port.local_link_connection = {} port.physical_network = None + port.category = None port.save() except exception.IronicException as e: LOG.warning( diff --git a/python/ironic-understack/ironic_understack/tests/test_inspect_hook_update_baremetal_ports.py b/python/ironic-understack/ironic_understack/tests/test_inspect_hook_update_baremetal_ports.py index 4cf5bd735..90ba99ed1 100644 --- a/python/ironic-understack/ironic_understack/tests/test_inspect_hook_update_baremetal_ports.py +++ b/python/ironic-understack/ironic_understack/tests/test_inspect_hook_update_baremetal_ports.py @@ -77,6 +77,7 @@ def test_with_valid_data(mocker, caplog): address="11:11:11:11:11:11", local_link_connection={}, physical_network="original_value", + category=None, ) mocker.patch( @@ -101,6 +102,7 @@ def test_with_valid_data(mocker, caplog): "switch_info": "f20-3-1.iad3.rackspace.net", } assert mock_port.physical_network == "f20-3-network" + assert mock_port.category == "network" mock_port.save.assert_called() mock_node.save.assert_called_once()