Sharding: More detailed test plan
After looking at options for testing this in detail, we've figured out a way to ensure we're filtering nodes properly in nova-compute without adding more load to our test cases in the form of additional full deployments. The proposed change would have us validate the nodes are not appearing in placement, using a similar method we currently use in devstack to ensure that nodes at setup time are being seen by nova. blueprint ironic-shards Change-Id: I16768e88fd4034d752df1533f9f1395e30184467
This commit is contained in:
parent
f0ffcb6ddf
commit
2f9c534574
|
@ -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
|
||||
====================
|
||||
|
|
Loading…
Reference in New Issue