summaryrefslogtreecommitdiffstats
path: root/testcases/VIM/OpenStack/CI/libraries
diff options
context:
space:
mode:
authorJuha Kosonen <juha.kosonen@nokia.com>2016-04-29 13:23:12 +0000
committerJuha Kosonen <juha.kosonen@nokia.com>2016-04-29 13:35:34 +0000
commit4bdb6ed6d41aed8763f22aa84155ac810569deb1 (patch)
tree5da015bfe73e3b7801f4256615a88eb5029757d0 /testcases/VIM/OpenStack/CI/libraries
parent3aeebe978f0d1821133f8b554e5bed06eb88f9a8 (diff)
Execute successive scenarios after task failure
Log the result of task validation and proceed executing next rally scenario when the current task start-up fails. JIRA: FUNCTEST-230 Change-Id: I5544a9559636f671035578f9cc5cf6f934bcbcd8 Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
Diffstat (limited to 'testcases/VIM/OpenStack/CI/libraries')
-rwxr-xr-xtestcases/VIM/OpenStack/CI/libraries/run_rally-cert.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py b/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py
index 4acc432bc..26e6b8c19 100755
--- a/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py
+++ b/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py
@@ -282,6 +282,16 @@ def get_output(proc, test_name):
return result
+def get_cmd_output(proc):
+ result = ""
+
+ while proc.poll() is None:
+ line = proc.stdout.readline()
+ result += line
+
+ return result
+
+
def run_task(test_name):
#
# the "main" function of the script who launch rally for a task
@@ -316,8 +326,16 @@ def run_task(test_name):
logger.debug('task_id : {}'.format(task_id))
if task_id is None:
- logger.error("Failed to retrieve task_id.")
- exit(-1)
+ logger.error('Failed to retrieve task_id, validating task...')
+ cmd_line = ("rally task validate " +
+ "--task {} ".format(task_file) +
+ "--task-args \"{}\" ".format(build_task_args(test_name)))
+ logger.debug('running command line : {}'.format(cmd_line))
+ p = subprocess.Popen(cmd_line, stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT, shell=True)
+ output = get_cmd_output(p)
+ logger.error("Task validation result:" + "\n" + output)
+ return
# check for result directory and create it otherwise
if not os.path.exists(RESULTS_DIR):