summaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authormbeierl <mark.beierl@dell.com>2017-09-28 10:58:01 -0400
committermbeierl <mark.beierl@dell.com>2017-09-28 11:13:49 -0400
commit01bad48306bfa00f234dd09ab30a05e9b35b01b2 (patch)
tree6eefc8f6ccc392823181507d181f6c176fc0a818 /docker
parentc0571183df86501bb626079b40a36a0d06e6e4f1 (diff)
Fix Test Results
Updates the key/values that are sent to testresults db. Fixes the PASS/FAIL to ignore _warm_up job. Change-Id: I8af292cd764637cd12cbdb5a2a3e114fbeda5665 Signed-off-by: mbeierl <mark.beierl@dell.com> JIRA: STORPERF-216
Diffstat (limited to 'docker')
-rw-r--r--docker/local-docker-compose.yaml2
-rw-r--r--docker/storperf-master/storperf/db/test_results_db.py11
-rw-r--r--docker/storperf-master/storperf/utilities/data_handler.py20
-rw-r--r--docker/storperf-master/tests/utilities_tests/data_handler_test.py29
4 files changed, 47 insertions, 15 deletions
diff --git a/docker/local-docker-compose.yaml b/docker/local-docker-compose.yaml
index fa956ea..6daa6e2 100644
--- a/docker/local-docker-compose.yaml
+++ b/docker/local-docker-compose.yaml
@@ -44,8 +44,6 @@ services:
context: storperf-graphite
args:
ARCH: ${ARCH}
- volumes:
- - ${CARBON_DIR}:/opt/graphite/storage/whisper
storperf-httpfrontend:
container_name: "storperf-httpfrontend"
diff --git a/docker/storperf-master/storperf/db/test_results_db.py b/docker/storperf-master/storperf/db/test_results_db.py
index 9c87e32..8e9c5ef 100644
--- a/docker/storperf-master/storperf/db/test_results_db.py
+++ b/docker/storperf-master/storperf/db/test_results_db.py
@@ -17,10 +17,10 @@ def push_results_to_db(db_url, details, logger):
"""
url = db_url + "/results"
- params = details.copy()
- params.pop('details')
+ params = details["report"]
- logger.info("popped params= %s" % params)
+ if logger:
+ logger.info("popped params= %s" % params)
headers = {'Content-Type': 'application/json'}
try:
@@ -35,6 +35,7 @@ def push_results_to_db(db_url, details, logger):
logger.debug(r.content)
return json.loads(r.content)
except Exception:
- logger.exception("Error [push_results_to_db('%s', '%s')]:" %
- (db_url, params))
+ if logger:
+ logger.exception("Error [push_results_to_db('%s', '%s')]:" %
+ (db_url, params))
return None
diff --git a/docker/storperf-master/storperf/utilities/data_handler.py b/docker/storperf-master/storperf/utilities/data_handler.py
index f5bf387..8a69180 100644
--- a/docker/storperf-master/storperf/utilities/data_handler.py
+++ b/docker/storperf-master/storperf/utilities/data_handler.py
@@ -129,16 +129,9 @@ class DataHandler(object):
def _push_to_db(self, executor):
executor.metadata['duration'] = executor.end_time - executor.start_time
- steady_state = True
- for _, value in executor.metadata['details']['steady_state'].items():
- steady_state = steady_state and value
-
executor.metadata['timestart'] = executor.start_time
- if steady_state:
- criteria = 'PASS'
- else:
- criteria = 'FAIL'
+ criteria = self._determine_criteria(executor.metadata)
executor.metadata['criteria'] = criteria
executor.metadata['start_date'] = \
@@ -160,3 +153,14 @@ class DataHandler(object):
executor.result_url = response['href']
except Exception:
self.logger.exception("Error pushing results into Database")
+
+ def _determine_criteria(self, metadata):
+ steady_state = True
+ for workload, value in metadata['details']['steady_state'].items():
+ if not workload.startswith("_"):
+ steady_state = steady_state and value
+
+ if steady_state:
+ return "PASS"
+ else:
+ return "FAIL"
diff --git a/docker/storperf-master/tests/utilities_tests/data_handler_test.py b/docker/storperf-master/tests/utilities_tests/data_handler_test.py
index d83bf1b..8c7deb5 100644
--- a/docker/storperf-master/tests/utilities_tests/data_handler_test.py
+++ b/docker/storperf-master/tests/utilities_tests/data_handler_test.py
@@ -306,3 +306,32 @@ class DataHandlerTest(unittest.TestCase):
self.assertEqual('2017-09-04 21:20:00',
self.db_results[1]['stop_date'],
'End time')
+
+ def test_pass_criteria(self):
+ metadata = {
+ "details": {
+ "steady_state": {
+ "_warm_up.queue-depth.8.block-size.16384": False,
+ "rw.queue-depth.4.block-size.16384": True
+ }
+ },
+ }
+ criteria = self.data_handler._determine_criteria(metadata)
+ self.assertEqual('PASS',
+ criteria,
+ 'PASS')
+
+ def test_fail_criteria(self):
+ metadata = {
+ "details": {
+ "steady_state": {
+ "_warm_up.queue-depth.8.block-size.16384": False,
+ "rw.queue-depth.4.block-size.16384": True,
+ "rw.queue-depth.8.block-size.16384": False
+ }
+ },
+ }
+ criteria = self.data_handler._determine_criteria(metadata)
+ self.assertEqual('FAIL',
+ criteria,
+ 'FAIL')