Pause watcher during performance QA
authorKlaus Aehlig <aehlig@google.com>
Tue, 17 Nov 2015 14:16:28 +0000 (15:16 +0100)
committerKlaus Aehlig <aehlig@google.com>
Tue, 17 Nov 2015 15:03:50 +0000 (16:03 +0100)
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 <aehlig@google.com>
Reviewed-by: Oleg Ponomarev <oponomarev@google.com>

qa/ganeti-qa.py

index 9cbbd43..77ad23d 100755 (executable)
@@ -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.