We want to make sure that instance operations don't leave the cluster in a bad state. The "instance-remove-drbd-offline" test leaves some debris behind, so it's been moved to the last position.
Signed-off-by: Bernardo Dal Seno <[email protected]> --- qa/ganeti-qa.py | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py index 44a4235..25ebf8e 100755 --- a/qa/ganeti-qa.py +++ b/qa/ganeti-qa.py @@ -512,6 +512,9 @@ def RunQa(): finally: qa_config.ReleaseNode(pnode) + # Make sure the cluster is clean before running instance tests + qa_cluster.AssertClusterVerify() + pnode = qa_config.AcquireNode() try: RunTestIf("tags", qa_tags.TestNodeTags, pnode) @@ -566,24 +569,7 @@ def RunQa(): del instance finally: qa_config.ReleaseManyNodes(inodes) - - # Test removing instance with offline drbd secondary - if qa_config.TestEnabled("instance-remove-drbd-offline"): - # Make sure the master is not put offline - snode = qa_config.AcquireNode(exclude=qa_config.GetMasterNode()) - try: - pnode = qa_config.AcquireNode(exclude=snode) - try: - instance = qa_instance.TestInstanceAddWithDrbdDisk([pnode, snode]) - qa_node.MakeNodeOffline(snode, "yes") - try: - RunTest(qa_instance.TestInstanceRemove, instance) - finally: - qa_node.MakeNodeOffline(snode, "no") - finally: - qa_config.ReleaseNode(pnode) - finally: - qa_config.ReleaseNode(snode) + qa_cluster.AssertClusterVerify() pnode = qa_config.AcquireNode() try: @@ -601,12 +587,33 @@ def RunQa(): qa_config.ReleaseNode(expnode) del expnode del instance + qa_cluster.AssertClusterVerify() finally: qa_config.ReleaseNode(pnode) RunExclusiveStorageTests() + # Test removing instance with offline drbd secondary + if qa_config.TestEnabled("instance-remove-drbd-offline"): + # Make sure the master is not put offline + snode = qa_config.AcquireNode(exclude=qa_config.GetMasterNode()) + try: + pnode = qa_config.AcquireNode(exclude=snode) + try: + instance = qa_instance.TestInstanceAddWithDrbdDisk([pnode, snode]) + qa_node.MakeNodeOffline(snode, "yes") + try: + RunTest(qa_instance.TestInstanceRemove, instance) + finally: + qa_node.MakeNodeOffline(snode, "no") + finally: + qa_config.ReleaseNode(pnode) + finally: + qa_config.ReleaseNode(snode) + # FIXME: This test leaves a DRBD device and two LVs behind + # Cluster-verify would fail + RunTestIf("create-cluster", qa_node.TestNodeRemoveAll) RunTestIf("cluster-destroy", qa_cluster.TestClusterDestroy) -- 1.8.1 -- You received this message because you are subscribed to the Google Groups "ganeti-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
