summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaseer Ahmed <taseer94@gmail.com>2017-09-22 00:41:37 +0500
committerTaseer Ahmed <taseer94@gmail.com>2017-09-27 10:17:35 +0500
commit551b2161cd4858699d9c8d92c10425f0870bb1b5 (patch)
treeb10b8ea56944c9adbc34a1d9b0d84cc9942503b6
parent85f0bd5bfe83456a7e73fe12d2e3232c4f58e35b (diff)
Returns job id and status
- If the user GETs for job without ID and type status, return all jobs along with status JIRA: STORPERF-213 Change-Id: I5518acae45f259644c961c6dc9f0cb170b86b6e1 Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
-rw-r--r--docker/storperf-master/rest_server.py8
-rw-r--r--docker/storperf-master/storperf/test_executor.py15
-rw-r--r--docs/testing/user/test-usage.rst1
3 files changed, 20 insertions, 4 deletions
diff --git a/docker/storperf-master/rest_server.py b/docker/storperf-master/rest_server.py
index 5be3fb4..7bcd650 100644
--- a/docker/storperf-master/rest_server.py
+++ b/docker/storperf-master/rest_server.py
@@ -280,11 +280,17 @@ class Job(Resource):
if metrics_type == "status":
return jsonify(storperf.fetch_job_status(workload_id))
+
else:
metrics_type = None
if request.args.get('type'):
metrics_type = request.args.get('type')
- return jsonify(storperf.fetch_all_jobs(metrics_type))
+
+ if metrics_type == "status":
+ return jsonify(storperf.fetch_job_status(workload_id))
+
+ else:
+ return jsonify(storperf.fetch_all_jobs(metrics_type))
@swagger.operation(
parameters=[
diff --git a/docker/storperf-master/storperf/test_executor.py b/docker/storperf-master/storperf/test_executor.py
index 4c2c972..629ae15 100644
--- a/docker/storperf-master/storperf/test_executor.py
+++ b/docker/storperf-master/storperf/test_executor.py
@@ -219,9 +219,18 @@ class TestExecutor(object):
if self.job_db.job_id == job_id and self._terminated is False:
status = "Running"
- result['Status'] = status
- result['Workloads'] = self.workload_status
- result['TestResultURL'] = self.result_url
+ result['Status'] = status
+ result['Workloads'] = self.workload_status
+ result['TestResultURL'] = self.result_url
+
+ else:
+ jobs = self.job_db.fetch_jobs()
+ self.logger.info("Jobs")
+ self.logger.info(jobs)
+ for job in jobs:
+ if self.job_db.job_id == job_id and self._terminated is False:
+ status = "Running"
+ result[job] = status
return result
diff --git a/docs/testing/user/test-usage.rst b/docs/testing/user/test-usage.rst
index 2934a5c..8048cff 100644
--- a/docs/testing/user/test-usage.rst
+++ b/docs/testing/user/test-usage.rst
@@ -209,6 +209,7 @@ This is an example of a type=status call.
}
}
+If the `job_id` is not provided along with `type` status, then all jobs are returned along with their status.
Metrics
~~~~~~~
Metrics can be queried at any time during or after the completion of a run.