Merge "Fix uploading foundation node image to glance"
diff --git a/tcp_tests/managers/jenkins/client.py b/tcp_tests/managers/jenkins/client.py
index 20b070e..508704f 100644
--- a/tcp_tests/managers/jenkins/client.py
+++ b/tcp_tests/managers/jenkins/client.py
@@ -6,6 +6,7 @@
import json
import yaml
import requests
+import re
from devops.helpers import helpers
@@ -259,7 +260,12 @@
@retry()
def get_build_output(self, name, build_id):
- return self.__client.get_build_console_output(name, build_id)
+ output = self.__client.get_build_console_output(name, build_id)
+ # Clean output from any info added by addons
+ result = ''
+ for line in output.splitlines():
+ result += re.sub(r'<span.+</span>', '', line)
+ return result
@retry(max_count=20, sleep_before_retry=30)
def get_progressive_build_output(self, name, build_id, start=0):
diff --git a/tcp_tests/templates/_packer/scripts/ubuntu_packets.sh b/tcp_tests/templates/_packer/scripts/ubuntu_packets.sh
index cd29a30..23d8831 100644
--- a/tcp_tests/templates/_packer/scripts/ubuntu_packets.sh
+++ b/tcp_tests/templates/_packer/scripts/ubuntu_packets.sh
@@ -1,9 +1,10 @@
#!/bin/bash -xe
-apt-get update
# for Jenkins agent
-apt-get install -y openjdk-8-jre-headless
+add-apt-repository -y ppa:openjdk-r/ppa
+apt-get update
+apt-get install -y openjdk-11-jre-headless
# for fuel-devops and tcp-qa
apt-get install -y libyaml-dev libffi-dev libvirt-dev python-dev pkg-config vlan bridge-utils python-pip python3-pip virtualenv
# additional tools
diff --git a/tcp_tests/utils/run_jenkins_job.py b/tcp_tests/utils/run_jenkins_job.py
index 403cc00..dee3fcb 100755
--- a/tcp_tests/utils/run_jenkins_job.py
+++ b/tcp_tests/utils/run_jenkins_job.py
@@ -128,11 +128,8 @@
job_params.update(job_parameters)
job_attempts = 2
- count = 1
- while (job_attempts != 0):
- print('Attempt ' + str(count))
- count += 1
- job_attempts -= 1
+ for attempt in range(1, job_attempts+1):
+ print('Attempt ' + str(attempt))
build = jenkins.run_build(job_name,
job_params,
verbose=verbose,
@@ -152,19 +149,24 @@
except Exception as e:
print(str(e))
raise
+ result = jenkins.build_info(name=build[0],
+ build_id=build[1])['result']
+ if verbose:
+ print_build_footer(build, result, host)
+
+ if result == "SUCCESS":
+ break
+
job_log = jenkins.get_build_output(job_name, build[1])
# Workaround for restart jobs that failed by salt-timeout errors
# or by sporadic fail in attach disks
- if ('SaltReqTimeoutError' not in job_log and
- 'not a block device' not in job_log):
- break
- else:
+ if ('SaltReqTimeoutError' in job_log or
+ 'not a block device' in job_log):
print('Job returns known infra fail!')
-
- result = jenkins.build_info(name=build[0],
- build_id=build[1])['result']
- if verbose:
- print_build_footer(build, result, host)
+ continue
+ else:
+ # do not retry if it's not known issue
+ break
return result