Fix runtestmanager
Change-Id: I9d4cf07d7cc4cf201520588365bc2bc3cae19376
Close-bug: PROD-24226
diff --git a/tcp_tests/managers/runtestmanager.py b/tcp_tests/managers/runtestmanager.py
index 8fafe01..f5af0d7 100644
--- a/tcp_tests/managers/runtestmanager.py
+++ b/tcp_tests/managers/runtestmanager.py
@@ -15,9 +15,12 @@
import json
import os
+from devops.helpers import helpers
+
from tcp_tests import logger
from tcp_tests import settings
+
LOG = logger.logger
TEMPEST_CFG_DIR = '/tmp/test'
@@ -259,13 +262,14 @@
image_nameversion = "{}:{}".format(self.image_name, self.image_version)
docker_args = (
+ " -t "
" --name {container_name} "
" -e ARGS=\"-r {tempest_pattern} -w {tempest_threads}\""
" -v {cfg_dir}/tempest.conf:/etc/tempest/tempest.conf"
" -v /tmp/:/tmp/"
" -v {cfg_dir}:/root/tempest"
" -v /etc/ssl/certs/:/etc/ssl/certs/"
- " --rm"
+ " -d "
" {image_nameversion} {run_cmd}"
.format(
container_name=self.container_name,
@@ -292,6 +296,25 @@
self.__salt_api.execute_commands(commands=commands,
label="Run Tempest tests")
+ def wait_status(s):
+ inspect_res = self.salt_api.local(tgt,
+ 'dockerng.inspect',
+ self.container_name)
+ if 'return' in inspect_res:
+ inspect = inspect_res['return']
+ inspect = inspect[0]
+ inspect = next(inspect.iteritems())[1]
+ status = inspect['State']['Status']
+
+ return status.lower() == s.lower()
+
+ return False
+
+ helpers.wait(lambda: wait_status('exited'),
+ timeout=timeout,
+ timeout_msg=('Tempest run didnt finished '
+ 'in {}'.format(timeout)))
+
inspect_res = self.salt_api.local(tgt,
'dockerng.inspect',
self.container_name)