diff options
author | jose.lausuch <jose.lausuch@ericsson.com> | 2015-04-29 18:10:48 +0200 |
---|---|---|
committer | jose.lausuch <jose.lausuch@ericsson.com> | 2015-04-30 11:22:23 +0200 |
commit | 7c28e2f5af2c5dca30a806f803df63bdf46a9831 (patch) | |
tree | d931ff7eebd04510da3a1a4f5f4c4f16e32e63b1 /testcases/VIM/OpenStack/CI | |
parent | a3b51399ce0cb335f2e69dabbbc96ff8aa9c01bc (diff) |
JIRA:FUNCTEST-1 -run_rally: added cinder as input parameter and other minor changes
Change-Id: Ic413ee1687e15499f8cf5f38b729083ec00269c6
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
Diffstat (limited to 'testcases/VIM/OpenStack/CI')
-rw-r--r-- | testcases/VIM/OpenStack/CI/libraries/run_rally.py | 31 |
1 files 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 |