From 7c28e2f5af2c5dca30a806f803df63bdf46a9831 Mon Sep 17 00:00:00 2001 From: "jose.lausuch" Date: Wed, 29 Apr 2015 18:10:48 +0200 Subject: JIRA:FUNCTEST-1 -run_rally: added cinder as input parameter and other minor changes Change-Id: Ic413ee1687e15499f8cf5f38b729083ec00269c6 Signed-off-by: jose.lausuch --- testcases/VIM/OpenStack/CI/libraries/run_rally.py | 31 ++++++++++++----------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/testcases/VIM/OpenStack/CI/libraries/run_rally.py b/testcases/VIM/OpenStack/CI/libraries/run_rally.py index 898fca6b7..b3275fb13 100644 --- a/testcases/VIM/OpenStack/CI/libraries/run_rally.py +++ b/testcases/VIM/OpenStack/CI/libraries/run_rally.py @@ -11,12 +11,12 @@ import re, json, os, urllib2, argparse, logging """ tests configuration """ -tests = ['authenticate', 'glance', 'heat', 'keystone', 'neutron', 'nova', 'tempest', 'vm', 'all'] +tests = ['authenticate', 'glance', 'cinder', 'heat', 'keystone', 'neutron', 'nova', 'tempest', 'vm', 'all'] parser = argparse.ArgumentParser() parser.add_argument("test_name", help="The name of the test you want to perform with rally. " "Possible values are : " "[ {d[0]} | {d[1]} | {d[2]} | {d[3]} | {d[4]} | {d[5]} | {d[6]} " - "| {d[7]} | {d[8]} ]. The 'all' value performs all the tests scenarios " + "| {d[7]} | {d[8]} | {d[9]} ]. The 'all' value performs all the tests scenarios " "except 'tempest'".format(d=tests)) parser.add_argument("-d", "--debug", help="Debug mode", action="store_true") @@ -64,14 +64,14 @@ def task_succeed(json_raw): return False if rally_report.get('result') is None: return False - + for result in rally_report.get('result'): if len(result.get('error')) > 0: return False - + return True - - + + def run_task(test_name): """ the "main" function of the script who lunch rally for a task @@ -79,7 +79,7 @@ def run_task(test_name): :return: void """ logger.info('starting {} test ...'.format(test_name)) - + """ get the date """ cmd = os.popen("date '+%d%m%Y_%H%M'") test_date = cmd.read().rstrip() @@ -91,10 +91,10 @@ def run_task(test_name): if not os.path.exists(test_file_name): logger.debug('{} does not exists'.format(test_file_name)) proceed_test = retrieve_test_cases_file(test_name, tests_path) - logger.debug('successfully downloaded to : {}'.format(test_file_name)) """ we do the test only if we have a scenario test file """ if proceed_test: + logger.debug('successfully downloaded to : {}'.format(test_file_name)) cmd_line = "rally task start --abort-on-sla-failure %s" % test_file_name logger.debug('running command line : {}'.format(cmd_line)) cmd = os.popen(cmd_line) @@ -110,13 +110,13 @@ def run_task(test_name): if not os.path.exists(report_path): logger.debug('does not exists, we create it'.format(report_path)) os.makedirs(report_path) - + """ write html report file """ report_file_name = '{}/opnfv-{}-{}.html'.format(report_path, test_name, test_date) cmd_line = "rally task report %s --out %s" % (task_id, report_file_name) logger.debug('running command line : {}'.format(cmd_line)) os.popen(cmd_line) - + """ get and save rally operation JSON result """ cmd_line = "rally task results %s" % task_id logger.debug('running command line : {}'.format(cmd_line)) @@ -125,6 +125,7 @@ def run_task(test_name): with open('{}/opnfv-{}-{}.json'.format(report_path, test_name, test_date), 'w') as f: logger.debug('saving json file') f.write(json_results) + logger.debug('saving json file2') """ parse JSON operation result """ if task_succeed(json_results): @@ -132,7 +133,7 @@ def run_task(test_name): else: print '{} KO'.format(test_date) else: - logger.error('{} test failed, unable to find a scenario test file'.format(test_name)) + logger.error('{} test failed, unable to download a scenario test file'.format(test_name)) def retrieve_test_cases_file(test_name, tests_path): @@ -143,20 +144,20 @@ def retrieve_test_cases_file(test_name, tests_path): """ do not add the "/" at the end """ url_base = "https://git.opnfv.org/cgit/functest/plain/testcases/VIM/OpenStack/CI/suites" - + test_file_name = 'opnfv-{}.json'.format(test_name) logger.info('fetching {}/{} ...'.format(url_base, test_file_name)) - + try: response = urllib2.urlopen('{}/{}'.format(url_base, test_file_name)) except (urllib2.HTTPError, urllib2.URLError): return False file_raw = response.read() - + """ check if the test path exist otherwise we create it """ if not os.path.exists(tests_path): os.makedirs(tests_path) - + with open('{}/{}'.format(tests_path, test_file_name), 'w') as f: f.write(file_raw) return True -- cgit 1.2.3-korg