diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py index c68d0fb366b678622d377927e8edf006cd04b9d7..1d62e67c6ad738dba9c8393d1dfce7be19732ce7 100755 --- a/qa/ganeti-qa.py +++ b/qa/ganeti-qa.py @@ -269,18 +269,25 @@ def main(): RunTest(qa_instance.TestInstanceRemove, instance) del instance - if qa_config.TestEnabled('instance-add-remote-raid-disk'): - snode = qa_config.AcquireNode(exclude=pnode) - try: - instance = RunTest(qa_instance.TestInstanceAddWithRemoteRaidDisk, - pnode, snode) - RunCommonInstanceTests(instance) - RunExportImportTests(instance, pnode) - RunHardwareFailureTests(instance, pnode, snode) - RunTest(qa_instance.TestInstanceRemove, instance) - del instance - finally: - qa_config.ReleaseNode(snode) + multinode_tests = [ + ('instance-add-remote-raid-disk', + qa_instance.TestInstanceAddWithRemoteRaidDisk), + ('instance-add-drbd-disk', + qa_instance.TestInstanceAddWithDrbdDisk), + ] + + for name, func in multinode_tests: + if qa_config.TestEnabled(name): + snode = qa_config.AcquireNode(exclude=pnode) + try: + instance = RunTest(func, pnode, snode) + RunCommonInstanceTests(instance) + RunExportImportTests(instance, pnode) + RunHardwareFailureTests(instance, pnode, snode) + RunTest(qa_instance.TestInstanceRemove, instance) + del instance + finally: + qa_config.ReleaseNode(snode) finally: qa_config.ReleaseNode(pnode) diff --git a/qa/qa-sample.yaml b/qa/qa-sample.yaml index 0285d18bad1ee2a0b24a8d9e7f36dd84afeebd91..4cac0debb825c2d2f8116a714bca77cca6ed738f 100644 --- a/qa/qa-sample.yaml +++ b/qa/qa-sample.yaml @@ -48,6 +48,7 @@ tests: instance-add-plain-disk: True instance-add-local-mirror-disk: True instance-add-remote-raid-disk: True + instance-add-drbd-disk: False instance-list: True instance-failover: True instance-info: True diff --git a/qa/qa_instance.py b/qa/qa_instance.py index 7ef40ca43669b921e5aa4224e403d365ec4f75a6..6360bb0dd6aaba847f15c07ee87c4f91793fc4e1 100644 --- a/qa/qa_instance.py +++ b/qa/qa_instance.py @@ -82,6 +82,13 @@ def TestInstanceAddWithRemoteRaidDisk(node, node2): 'remote_raid1') +@qa_utils.DefineHook('instance-add-drbd-disk') +def TestInstanceAddWithDrbdDisk(node, node2): + """gnt-instance add -t drbd""" + return _DiskTest("%s:%s" % (node['primary'], node2['primary']), + 'drbd') + + @qa_utils.DefineHook('instance-remove') def TestInstanceRemove(instance): """gnt-instance remove"""