+ if not qa_config.options.yes_do_it:
+ print ("Executing this script irreversibly destroys any Ganeti\n"
+ "configuration on all nodes involved. If you really want\n"
+ "to start testing, supply the --yes-do-it option.")
+ sys.exit(1)
+
+ qa_config.Load(config_file)
+
+ RunEnvTests()
+ SetupCluster()
+ RunClusterTests()
+ RunOsTests()
+
+ if qa_config.TestEnabled('tags'):
+ RunTest(qa_tags.TestClusterTags)
+
+ if qa_config.TestEnabled('node-readd'):
+ master = qa_config.GetMasterNode()
+ pnode = qa_config.AcquireNode(exclude=master)
+ try:
+ RunTest(qa_node.TestNodeReadd, pnode)
+ finally:
+ qa_config.ReleaseNode(pnode)
+
+ pnode = qa_config.AcquireNode()
+ try:
+ if qa_config.TestEnabled('tags'):
+ RunTest(qa_tags.TestNodeTags, pnode)
+
+ if qa_rapi.Enabled():
+ RunTest(qa_rapi.TestNode, pnode)
+
+ if qa_config.TestEnabled('instance-add-plain-disk'):
+ instance = RunTest(qa_instance.TestInstanceAddWithPlainDisk, pnode)
+ RunCommonInstanceTests(instance)
+ RunExportImportTests(instance, pnode)
+ RunDaemonTests(instance, pnode)
+ RunTest(qa_instance.TestInstanceRemove, instance)
+ del instance
+
+ multinode_tests = [
+ ('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)