From 759ef520d9e9c8cc3489e9428355ffcf02254734 Mon Sep 17 00:00:00 2001 From: Steve Keay Date: Wed, 3 Jun 2026 15:22:48 +0100 Subject: [PATCH] Fix trait handling to stop it generating invalid trait names Lamentably, Ironic accepts a trait name without the "CUSTOM" prefix, but nova later rejects it, causing the node to be unusable. --- .../ironic_understack/inspect_hook_chassis_model.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/ironic-understack/ironic_understack/inspect_hook_chassis_model.py b/python/ironic-understack/ironic_understack/inspect_hook_chassis_model.py index 9398a2520..5cd082d83 100644 --- a/python/ironic-understack/ironic_understack/inspect_hook_chassis_model.py +++ b/python/ironic-understack/ironic_understack/inspect_hook_chassis_model.py @@ -26,6 +26,7 @@ def _set_node_traits(task, prefix: str, required_trait: str): """Manage the subset of node traits whose names begin with `prefix`.""" node = task.node existing_traits = node.traits.get_trait_names() + required_trait = prefix + required_trait required_traits = {x for x in existing_traits if not x.startswith(prefix)} required_traits.add(required_trait)