Track and work around erroneously lost builds.

There may be a jenkins bug where a running build is not listed
as such in the api -- track these instances, and don't mark them
as lost without another indicator (build duration != 0).

Change-Id: Ib962e0274faf265c3a0d876a080b105804efa495
Reviewed-on: https://review.openstack.org/11773
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
This commit is contained in:
James E. Blair 2012-08-21 15:31:23 -07:00 committed by Jenkins
parent ad6b8f40e2
commit 821352ca46
1 changed files with 9 additions and 1 deletions

View File

@ -421,11 +421,19 @@ class Jenkins(object):
if info['building']:
# It has not finished.
continue
if info['duration'] == 0:
# Possible jenkins bug -- not building, but no duration
self.log.debug("Possible jenkins bug with build %s: "
"not building, but no duration is set "
"Build info %s:" % (build,
pprint.pformat(info)))
continue
finish_time = (info['timestamp'] + info['duration']) / 1000
if time.time() - finish_time > JENKINS_GRACE_TIME:
self.log.debug("Lost build %s because "
"it finished more than 5 minutes ago. "
"Build info %s:" % (build, info))
"Build info %s:" % (build,
pprint.pformat(info)))
lostbuilds.append(build)
continue
# Give it more time