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