[PATCH] Add JENKINS_PROXY support to makebumpver
Brian C. Lane
bcl at redhat.com
Fri Jan 30 18:44:39 UTC 2015
Somtimes the build system isn't on the same network. Add JENKINS_PROXY
to the .rhbzauth file and point it to a proxy that is.
Also catch connection errors and report them as a failure.
---
scripts/makebumpver | 48 ++++++++++++++++++++++++++++++------------------
1 file changed, 30 insertions(+), 18 deletions(-)
diff --git a/scripts/makebumpver b/scripts/makebumpver
index 488287b..c1483c9 100755
--- a/scripts/makebumpver
+++ b/scripts/makebumpver
@@ -45,6 +45,7 @@ class MakeBumpVer:
self.bzserver = 'bugzilla.redhat.com'
self.bzurl = "https://%s/xmlrpc.cgi" % self.bzserver
self.jenkins = None
+ self.jenkins_proxy = None
self.username = None
self.password = None
self.bz = None
@@ -63,6 +64,8 @@ class MakeBumpVer:
self.password = line[14:].strip('"\'')
elif line.startswith('JENKINS='):
self.jenkins = line[8:].strip('"\'')
+ elif line.startswith('JENKINS_PROXY='):
+ self.jenkins_proxy = line[14:].strip('"\'')
self.gituser = self._gitConfig('user.name')
self.gitemail = self._gitConfig('user.email')
@@ -460,25 +463,34 @@ class MakeBumpVer:
ret = False
- with closing(urllib.urlopen(self.jenkins)) as f:
- contents = f.readlines()
+ if self.jenkins_proxy:
+ proxies = { "http": self.jenkins_proxy }
+ else:
+ proxies = {}
- try:
- j = json.loads(contents[0])
- except (TypeError, ValueError):
- pass
- else:
- # Get the name of the job we should be looking for in jenkins.
- # This name is composed from the name of the project, plus the
- # branch of the project without any "-branch" stuff at the end.
- targetJob = self.name + "-" + self.git_branch
- if targetJob.endswith("-branch"):
- targetJob = targetJob[:-7]
-
- for job in j["jobs"]:
- if job["name"] == targetJob:
- ret = job["color"] == "blue"
- break
+ try:
+ with closing(urllib.urlopen(self.jenkins, proxies=proxies)) as f:
+ contents = f.readlines()
+
+ try:
+ j = json.loads(contents[0])
+ except (TypeError, ValueError):
+ pass
+ else:
+ # Get the name of the job we should be looking for in jenkins.
+ # This name is composed from the name of the project, plus the
+ # branch of the project without any "-branch" stuff at the end.
+ targetJob = self.name + "-" + self.git_branch
+ if targetJob.endswith("-branch"):
+ targetJob = targetJob[:-7]
+
+ for job in j["jobs"]:
+ if job["name"] == targetJob:
+ ret = job["color"] == "blue"
+ break
+ except IOError as e:
+ log.error("Jenkins check failed: %s", e)
+ return False
return ret
--
1.9.3
More information about the anaconda-patches
mailing list