From 83e2fb154a4e89901b57cfca1931167898a2833f Mon Sep 17 00:00:00 2001 From: mbeierl Date: Mon, 30 Jan 2017 12:14:02 -0500 Subject: Make it easier to see what's happening in Jenkins Change-Id: I3ac727faa98c1e87dcd9522c0063ca6b251c62b4 Signed-off-by: mbeierl --- storperf/test_executor.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'storperf/test_executor.py') diff --git a/storperf/test_executor.py b/storperf/test_executor.py index cda6c78..e6f0784 100644 --- a/storperf/test_executor.py +++ b/storperf/test_executor.py @@ -42,6 +42,7 @@ class TestExecutor(object): self.start_time = None self.end_time = None self.current_workload = None + self.workload_status = {} self._queue_depths = [1, 4, 8] self._block_sizes = [512, 4096, 16384] self.event_listeners = set() @@ -188,13 +189,17 @@ class TestExecutor(object): return terminated_hosts def execution_status(self, job_id): - if self.job_db.job_id != job_id: - return "Completed" - if (self._terminated is False): - return "Running" + result = {} + status = "Completed" - return "Completed" + if self.job_db.job_id == job_id and self._terminated is False: + status = "Running" + + result['Status'] = status + result['Workloads'] = self.workload_status + + return result def execute_workloads(self): self._terminated = False @@ -205,6 +210,18 @@ class TestExecutor(object): self.start_time = time.time() + self.workload_status = {} + # Prepare stats list + for workload_module in self.workload_modules: + workload_name = getattr(workload_module, "__name__") + blocksizes = self._block_sizes + iodepths = self._queue_depths + for blocksize in blocksizes: + for iodepth in iodepths: + name = '%s.%s.queue-depth.%s.block-size.%s' % \ + (self.job_db.job_id, workload_name, iodepth, blocksize) + self.workload_status[name] = "Pending" + for workload_module in self.workload_modules: workload_name = getattr(workload_module, "__name__") self.logger.info("Starting workload %s" % (workload_name)) @@ -238,6 +255,7 @@ class TestExecutor(object): blocksize)) self.logger.info("Starting run %s" % self.current_workload) + self.workload_status[self.current_workload] = "Running" scheduler = sched.scheduler(time.time, time.sleep) if self.deadline is not None \ @@ -278,6 +296,7 @@ class TestExecutor(object): self.logger.info("Completed run %s" % self.current_workload) + self.workload_status[self.current_workload] = "Completed" self._workload_executors = [] self.current_workload = None -- cgit 1.2.3-korg