From b1932e1b062987c41784a749efaf2c9e748ce2c1 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Thu, 9 Apr 2026 15:50:18 +0100 Subject: [PATCH] Add support for setting shard key on baremetal node Ironic supports setting a shard key on baremetal nodes which can be used to scale out the Nova Compute Ironic service. This change adds support for setting the shard key. Change-Id: I9694470a8ce6d964d6251bda4463f025bd4245e0 Signed-off-by: Doug Szumski --- .../fragments/add_shard_key_field_for_baremetal_node.yaml | 3 +++ ci/roles/baremetal_inspect/defaults/main.yml | 1 + ci/roles/baremetal_node/defaults/main.yml | 1 + plugins/modules/baremetal_inspect.py | 4 ++++ plugins/modules/baremetal_node.py | 4 ++++ plugins/modules/baremetal_node_info.py | 4 ++++ 6 files changed, 17 insertions(+) create mode 100644 changelogs/fragments/add_shard_key_field_for_baremetal_node.yaml diff --git a/changelogs/fragments/add_shard_key_field_for_baremetal_node.yaml b/changelogs/fragments/add_shard_key_field_for_baremetal_node.yaml new file mode 100644 index 00000000..c7661be5 --- /dev/null +++ b/changelogs/fragments/add_shard_key_field_for_baremetal_node.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - Add support for setting the shard key on a baremetal node. diff --git a/ci/roles/baremetal_inspect/defaults/main.yml b/ci/roles/baremetal_inspect/defaults/main.yml index d993fcdb..3f8d9f1c 100644 --- a/ci/roles/baremetal_inspect/defaults/main.yml +++ b/ci/roles/baremetal_inspect/defaults/main.yml @@ -46,6 +46,7 @@ expected_fields: - reservation - resource_class - retired_reason + - shard - states - storage_interface - target_power_state diff --git a/ci/roles/baremetal_node/defaults/main.yml b/ci/roles/baremetal_node/defaults/main.yml index d993fcdb..3f8d9f1c 100644 --- a/ci/roles/baremetal_node/defaults/main.yml +++ b/ci/roles/baremetal_node/defaults/main.yml @@ -46,6 +46,7 @@ expected_fields: - reservation - resource_class - retired_reason + - shard - states - storage_interface - target_power_state diff --git a/plugins/modules/baremetal_inspect.py b/plugins/modules/baremetal_inspect.py index 0f9c3735..dcb08ba6 100644 --- a/plugins/modules/baremetal_inspect.py +++ b/plugins/modules/baremetal_inspect.py @@ -243,6 +243,10 @@ node: retired_reason: description: TODO type: str + shard: + description: The shard key for a node. + returned: success + type: str states: description: | Links to the collection of states. Note that this resource is also diff --git a/plugins/modules/baremetal_node.py b/plugins/modules/baremetal_node.py index b8ef84e2..1f111040 100644 --- a/plugins/modules/baremetal_node.py +++ b/plugins/modules/baremetal_node.py @@ -437,6 +437,10 @@ node: description: The reason the node is marked as retired. returned: success type: str + shard: + description: The shard key for a node. + returned: success + type: str states: description: Links to the collection of states. returned: success diff --git a/plugins/modules/baremetal_node_info.py b/plugins/modules/baremetal_node_info.py index 45761171..320774db 100644 --- a/plugins/modules/baremetal_node_info.py +++ b/plugins/modules/baremetal_node_info.py @@ -289,6 +289,10 @@ nodes: description: The reason the node is marked as retired. returned: success type: str + shard: + description: The shard key for a node. + returned: success + type: str states: description: Links to the collection of states. returned: success