diff options
author | Ori Livneh <ori@wikimedia.org> | 2013-05-02 19:13:53 -0700 |
---|---|---|
committer | Jenkins <jenkins@review.openstack.org> | 2013-05-05 21:58:29 +0000 |
commit | 7191ee881dc729c5925177b6e3a5aae6a8db805b (patch) | |
tree | fcb5df912dedfda1fc6f592f29b07db2bafec5e8 | |
parent | 031e23f72318c65346f88e3cad3989eed4f7368b (diff) | |
download | zuul-7191ee881dc729c5925177b6e3a5aae6a8db805b.tar.gz |
Drop Jenkins.getBestBuildURL() method
The ability to configure success and failure URL patterns (cf.
'success-pattern' and 'failure-pattern') obsoletes the need to
guess-by-fetching an appropriate link for the build status, which can be
extremely expensive. (Wikimedia's Zuul instance makes three HTTP requests per
invocation -- 'testReport', which 302s to 'testReport/', which 404s, and then
'consoleFull', which often runs to hundreds of kilobytes.)
Also corrects a small typo in README.rst.
Change-Id: Ib222f544c98253152a5e787ec0cdf28fa2d80cf6
Reviewed-on: https://review.openstack.org/28128
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
-rw-r--r-- | README.rst | 2 | ||||
-rw-r--r-- | zuul/launcher/jenkins.py | 18 | ||||
-rw-r--r-- | zuul/model.py | 1 | ||||
-rw-r--r-- | zuul/scheduler.py | 26 |
4 files changed, 12 insertions, 35 deletions
diff --git a/README.rst b/README.rst index 183a9a211..b66305e8f 100644 --- a/README.rst +++ b/README.rst @@ -17,4 +17,4 @@ Use `git review` to submit patches (after creating a gerrit account that links t # Do your commits $ git review - # Enter your username if promped + # Enter your username if prompted diff --git a/zuul/launcher/jenkins.py b/zuul/launcher/jenkins.py index 1e58bceab..7ac92c3e4 100644 --- a/zuul/launcher/jenkins.py +++ b/zuul/launcher/jenkins.py @@ -23,7 +23,6 @@ import threading import time import urllib # for extending jenkins lib import urllib2 # for extending jenkins lib -import urlparse from uuid import uuid4 import jenkins @@ -378,21 +377,6 @@ class Jenkins(object): self.log.error("Build %s has not started but " "was not found in queue" % build) - def getBestBuildURL(self, url): - try: - test_url = urlparse.urljoin(url, 'testReport') - self.jenkins.jenkins_open(urllib2.Request(test_url)) - return test_url - except: - pass - try: - console_url = urlparse.urljoin(url, 'consoleFull') - self.jenkins.jenkins_open(urllib2.Request(console_url)) - return console_url - except: - pass - return url - def setBuildDescription(self, build, description): if not build.number: return @@ -412,8 +396,6 @@ class Jenkins(object): self.log.debug("Found build %s" % build) del self.builds[uuid] if url: - build.base_url = url - url = self.getBestBuildURL(url) build.url = url build.result = status build.number = number diff --git a/zuul/model.py b/zuul/model.py index 0517450b5..eb8bc2651 100644 --- a/zuul/model.py +++ b/zuul/model.py @@ -450,7 +450,6 @@ class Build(object): def __init__(self, job, uuid): self.job = job self.uuid = uuid - self.base_url = None self.url = None self.number = None self.result = None diff --git a/zuul/scheduler.py b/zuul/scheduler.py index f5d12988c..3cd1025e8 100644 --- a/zuul/scheduler.py +++ b/zuul/scheduler.py @@ -922,17 +922,13 @@ class BasePipelineManager(object): result = job.failure_message if job.failure_pattern: pattern = job.failure_pattern - url = None - if build.url: - if pattern: - url = pattern.format(change=changeish, - pipeline=self.pipeline, - job=job, - build=build) - else: - url = build.url - if not url: - url = job.name + if pattern: + url = pattern.format(change=changeish, + pipeline=self.pipeline, + job=job, + build=build) + else: + url = build.url or job.name if not job.voting: voting = ' (non-voting)' else: @@ -960,10 +956,10 @@ class BasePipelineManager(object): change = build.build_set.change for build in build.build_set.getBuilds(): - if build.base_url: + if build.url: concurrent_builds += """\ <li> - <a href="{build.base_url}"> + <a href="{build.url}"> {build.job.name} #{build.number}</a>: {build.result} </li> """.format(build=build) @@ -979,7 +975,7 @@ class BasePipelineManager(object): if other_build: other_builds += """\ <li> - Preceded by: <a href="{build.base_url}"> + Preceded by: <a href="{build.url}"> {build.job.name} #{build.number}</a> </li> """.format(build=other_build) @@ -990,7 +986,7 @@ class BasePipelineManager(object): if other_build: other_builds += """\ <li> - Succeeded by: <a href="{build.base_url}"> + Succeeded by: <a href="{build.url}"> {build.job.name} #{build.number}</a> </li> """.format(build=other_build) |