Abort reconfiguration when cat jobs fail

Currently, if a cat job fails during reconfiguration, we simply
proceed without that section of the config, which usually doesn't
work out well.  Instead, raise an exception which will abort the
reconfiguration.

Change-Id: I87f2d870f007e3df5f47c04ef49add27c8a0b554
This commit is contained in:
James E. Blair 2017-09-12 07:14:44 -06:00
parent 5762fd15be
commit 3b5b335ca2
2 changed files with 5 additions and 3 deletions

View File

@ -1342,6 +1342,8 @@ class TenantParser(object):
continue continue
TenantParser.log.debug("Waiting for cat job %s" % (job,)) TenantParser.log.debug("Waiting for cat job %s" % (job,))
job.wait() job.wait()
if not job.updated:
raise Exception("Cat job %s failed" % (job,))
TenantParser.log.debug("Cat job %s got files %s" % TenantParser.log.debug("Cat job %s got files %s" %
(job, job.files)) (job, job.files))
loaded = False loaded = False

View File

@ -134,18 +134,18 @@ class MergeClient(object):
def onBuildCompleted(self, job): def onBuildCompleted(self, job):
data = getJobData(job) data = getJobData(job)
merged = data.get('merged', False) merged = data.get('merged', False)
updated = data.get('updated', False) job.updated = data.get('updated', False)
commit = data.get('commit') commit = data.get('commit')
files = data.get('files', {}) files = data.get('files', {})
repo_state = data.get('repo_state', {}) repo_state = data.get('repo_state', {})
job.files = files job.files = files
self.log.info("Merge %s complete, merged: %s, updated: %s, " self.log.info("Merge %s complete, merged: %s, updated: %s, "
"commit: %s" % "commit: %s" %
(job, merged, updated, commit)) (job, merged, job.updated, commit))
job.setComplete() job.setComplete()
if job.build_set: if job.build_set:
self.sched.onMergeCompleted(job.build_set, self.sched.onMergeCompleted(job.build_set,
merged, updated, commit, files, merged, job.updated, commit, files,
repo_state) repo_state)
# The test suite expects the job to be removed from the # The test suite expects the job to be removed from the
# internal account after the wake flag is set. # internal account after the wake flag is set.