aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2015-04-30 09:30:05 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2015-04-30 09:30:05 +0000
commit16e650a72e063c66b15d94a737f6abe41a9fa169 (patch)
treedbab08b6bf0ff1d5307c4977c325113f5e6abd73
parent81b1ece4852f52278f8d10e9a297b90e2eb7bfd6 (diff)
parent7c28e2f5af2c5dca30a806f803df63bdf46a9831 (diff)
Merge "JIRA:FUNCTEST-1 -run_rally: added cinder as input parameter and other minor changes"
-rw-r--r--testcases/VIM/OpenStack/CI/libraries/run_rally.py31
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