Add retry for build_info in Jenkins wrapper
Closes issue with running automated tests from tcp-qa
when Jenkins returns error:
JenkinsException: Error in request. Possibly authentication failed [401]: Unauthorized
Change-Id: I4a15be43f4fb0ceb6f663b8221d0d231e4524094
Related-Prod: #PROD-35718
diff --git a/tcp_tests/managers/jenkins/client.py b/tcp_tests/managers/jenkins/client.py
index 0fdff80..1256552 100644
--- a/tcp_tests/managers/jenkins/client.py
+++ b/tcp_tests/managers/jenkins/client.py
@@ -75,7 +75,18 @@
return self.job_info(name).get('builds')
def build_info(self, name, build_id):
- return self.__client.get_build_info(name, build_id)
+ max_count = 6
+ for count in range(max_count):
+ try:
+ build = self.__client.get_build_info(name, build_id)
+ return build
+ except jenkins.JenkinsException as err:
+ print("caught JenkinsException: {err}. \
+ repeat {count}/{max_count}".
+ format(err=err,
+ count=count,
+ max_count=max_count))
+ time.sleep(10)
def job_params(self, name):
job = self.job_info(name)