diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2019-08-22 16:35:10 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2019-08-27 13:49:59 +0200 |
commit | 10ce40881184217bd72ec3e6cae474fe77a2e6c9 (patch) | |
tree | 1c9c391f250455157524bd397aa48b677b2b0830 | |
parent | 319c996767a62fa2bc88e1f30bcfe5a8312195ff (diff) |
Protect vs rally infine loop
It calls timeout (1 hour) to stop any hanging task [1].
It will be backported to Hunter and Iruya if similar failures are
detected.
It occurs vs Iruya too [2].
[1] https://build.opnfv.org/ci/job/functest-opnfv-functest-benchmarking-latest-rally_full-run/9/console
[2] https://build.opnfv.org/ci/job/functest-opnfv-functest-benchmarking-iruya-rally_jobs-run/151/console
Change-Id: I8fe89f9fa1c6c39cd8810096c1d586bdef7865a0
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
(cherry picked from commit fc5acf5d25f61487947df08477b9f239f40e486d)
-rw-r--r-- | functest/opnfv_tests/openstack/rally/rally.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index 22b508afa..f6e563ba7 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -67,6 +67,7 @@ class RallyBase(singlevm.VmReady2): visibility = 'public' shared_network = True allow_no_fip = True + task_timeout = '3600' def __init__(self, **kwargs): """Initialize RallyBase object.""" @@ -524,7 +525,8 @@ class RallyBase(singlevm.VmReady2): if self.file_is_empty(file_name): LOGGER.info('No tests for scenario "%s"', test_name) return False - self.run_cmd = (["rally", "task", "start", "--abort-on-sla-failure", + self.run_cmd = (["timeout", "-t", self.task_timeout, + "rally", "task", "start", "--abort-on-sla-failure", "--task", self.task_file, "--task-args", str(self.build_task_args(test_name))]) return True @@ -729,6 +731,7 @@ class RallyJobs(RallyBase): """Rally OpenStack CI testcase implementation.""" stests = ["neutron"] + task_timeout = '7200' def __init__(self, **kwargs): """Initialize RallyJobs object.""" @@ -834,7 +837,8 @@ class RallyJobs(RallyBase): os.makedirs(self.temp_dir) task_file_name = os.path.join(self.temp_dir, task_name) self.apply_blacklist(task, task_file_name) - self.run_cmd = (["rally", "task", "start", "--task", task_file_name, + self.run_cmd = (["timeout", "-t", self.task_timeout, + "rally", "task", "start", "--task", task_file_name, "--task-args", str(self.build_task_args(test_name))]) return True |