Our performance QA tests are intended to alert us if some common
task suddenly takes longer. To serve this purpose, they need to provide
reproducible results. Hence avoid any interference with watcher-submitted
jobs by pausing the watcher during performance QA tests.

Signed-off-by: Klaus Aehlig <[email protected]>
---
 qa/ganeti-qa.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py
index 9cbbd43..77ad23d 100755
--- a/qa/ganeti-qa.py
+++ b/qa/ganeti-qa.py
@@ -903,6 +903,10 @@ def RunPerformanceTests():
     ReportTestSkip("performance related tests", "performance")
     return
 
+  # For reproducable performance, run performance tests with the watcher
+  # paused.
+  qa_utils.AssertCommand(["gnt-cluster", "watcher", "pause", "4h"])
+
   if qa_config.TestEnabled("jobqueue-performance"):
     RunTest(qa_performance.TestParallelMaxInstanceCreationPerformance)
     RunTest(qa_performance.TestParallelNodeCountInstanceCreationPerformance)
@@ -938,6 +942,8 @@ def RunPerformanceTests():
     finally:
       qa_config.ReleaseManyNodes(inodes)
 
+  qa_utils.AssertCommand(["gnt-cluster", "watcher", "continue"])
+
 
 def RunQa():
   """Main QA body.
-- 
2.6.0.rc2.230.g3dd15c0

Reply via email to