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
FAILURES=0
+set +e
+
check_for_life storperf-httpfrontend "/"
FAILURES=$((FAILURES + $?))
context: storperf-graphite
args:
ARCH: ${ARCH}
- volumes:
- - ${CARBON_DIR}:/opt/graphite/storage/whisper
storperf-httpfrontend:
container_name: "storperf-httpfrontend"
"""
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:
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
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'] = \
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"
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')