diff --git a/specs/2024.1/approved/ironic-shards.rst b/specs/2024.1/approved/ironic-shards.rst index 15d35458a..0d6aa4cee 100644 --- a/specs/2024.1/approved/ironic-shards.rst +++ b/specs/2024.1/approved/ironic-shards.rst @@ -404,9 +404,23 @@ Testing We need some functional tests for the nova-manage command to ensure all of the safety guards work as expected. -We need to ensure a tempest test exists which has multiple shards, with -only one shard containing valid, functional Ironic nodes. Then, ensure -that only the valid nodes are scheduled to. +We need to ensure a tempest test exists which ensures that a nova-compute +configured to shard will only add nodes to placement that are configured with +the proper shard. + +To do this, we will add a devstack config to configure nova-compute with +a shard_key, and ensure Ironic nodes are created with that node.shard value. +When that configuration is enabled, a scenario test will perform this flow: +* Test creates fake-hardware test nodes with different shard values than the + one configured in nova-compute, including at least one with a shard None. +* Test also creates one fake-hardware test node with the shard value + configured in nova-compute. +* Test then polls placement, waiting for the recently-created test node in the + correct shard to appear. +* Test now polls placement, ensuring none of nodes with invalid or None shard + keys appear in placement. +* Test will repeat polling looking for invalid nodes for a configurable time, + if none are found when that time has fully elapsed, the test has passed. Documentation Impact ====================