Skip to content
Snippets Groups Projects
Commit a36f690c authored by Bernardo Dal Seno's avatar Bernardo Dal Seno
Browse files

QA: Run cluster-verify after instance tests


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: default avatarBernardo Dal Seno <bdalseno@google.com>
Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
parent 27eba428
No related branches found
No related tags found
No related merge requests found
...@@ -514,6 +514,9 @@ def RunQa(): ...@@ -514,6 +514,9 @@ def RunQa():
finally: finally:
qa_config.ReleaseNode(pnode) qa_config.ReleaseNode(pnode)
# Make sure the cluster is clean before running instance tests
qa_cluster.AssertClusterVerify()
pnode = qa_config.AcquireNode() pnode = qa_config.AcquireNode()
try: try:
RunTestIf("tags", qa_tags.TestNodeTags, pnode) RunTestIf("tags", qa_tags.TestNodeTags, pnode)
...@@ -568,24 +571,7 @@ def RunQa(): ...@@ -568,24 +571,7 @@ def RunQa():
del instance del instance
finally: finally:
qa_config.ReleaseManyNodes(inodes) qa_config.ReleaseManyNodes(inodes)
qa_cluster.AssertClusterVerify()
# 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)
pnode = qa_config.AcquireNode() pnode = qa_config.AcquireNode()
try: try:
...@@ -603,12 +589,33 @@ def RunQa(): ...@@ -603,12 +589,33 @@ def RunQa():
qa_config.ReleaseNode(expnode) qa_config.ReleaseNode(expnode)
del expnode del expnode
del instance del instance
qa_cluster.AssertClusterVerify()
finally: finally:
qa_config.ReleaseNode(pnode) qa_config.ReleaseNode(pnode)
RunExclusiveStorageTests() 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("create-cluster", qa_node.TestNodeRemoveAll)
RunTestIf("cluster-destroy", qa_cluster.TestClusterDestroy) RunTestIf("cluster-destroy", qa_cluster.TestClusterDestroy)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment