extras-buildsys/server PackageJob.py, 1.28, 1.29 ArchJob.py, 1.14, 1.15
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Thu Sep 8 21:10:27 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8365/server
Modified Files:
PackageJob.py ArchJob.py
Log Message:
2005-09-08 Dan Williams <dcbw at redhat.com>
* server/PackageJob.py
server/ArchJob.py
- Fail job if downloads from builder fail
Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- PackageJob.py 31 Aug 2005 01:56:43 -0000 1.28
+++ PackageJob.py 8 Sep 2005 21:10:25 -0000 1.29
@@ -544,7 +544,7 @@
if job.get_status() is 'done':
completed_jobs = completed_jobs + 1
- if job.builder_failed():
+ if job.builder_failed() or job.download_failed():
failed_jobs = failed_jobs + 1
# Normal jobs will just stop when a single archjob fails, but
@@ -554,7 +554,12 @@
if not job.failure_noticed():
job.set_failure_noticed()
jobarch = job.arch()
- msg = "Job failed on arch %s\n" % (jobarch)
+ msg = "Job failed."
+ if job.builder_failed():
+ msg = "Job failed on arch %s\n" % jobarch
+ elif job.download_failed():
+ msg = "Job failed on arch %s: couldn't download result files from builder '%s'.\n " \
+ "Please contact the build system administrator." % (jobarch, builder.address())
self._archjobs_lock.release()
raise BuildError(msg, jobarch)
Index: ArchJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/ArchJob.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ArchJob.py 29 Aug 2005 17:48:19 -0000 1.14
+++ ArchJob.py 8 Sep 2005 21:10:25 -0000 1.15
@@ -38,6 +38,7 @@
self.status = 'running'
self.builder_status = ''
self._failure_noticed = False
+ self._download_failed = False
self._target_dict = target_dict
self._builder_gone = False
self.downloads = {}
@@ -68,6 +69,9 @@
return True
return False
+ def download_failed(self):
+ return self._download_failed
+
def builder_prepping(self):
if self.builder_status == 'prepping':
return True
@@ -132,7 +136,7 @@
files = self._server.files(self.jobid)
except socket.error, e:
if not CommonErrors.canIgnoreSocketError(e):
- print "%s (%s/%s): [ %s ] Unknown error when signalling repo unlocked: '%s'" % (self.par_job.uid,
+ print "%s (%s/%s): [ %s ] Unknown error when getting file list: '%s'" % (self.par_job.uid,
self.par_job.package, self._target_dict['arch'], self.bci.address(), e)
except xmlrpclib.ProtocolError, e:
pass
@@ -175,6 +179,7 @@
# 2: error
# 3: done
undownloaded = False
+ failed = False
for url in self.downloads.keys():
dl_status = self.downloads[url]
if dl_status == 0:
@@ -198,6 +203,7 @@
break
elif dl_status == 2:
# error
+ failed = True
continue
elif dl_status == 3:
# this one is done
@@ -207,6 +213,8 @@
if not undownloaded:
self._print_downloaded_files()
self.endtime = time.time()
+ if failed:
+ self._download_failed = True
self._set_status('done')
self.par_job.wake()
More information about the fedora-extras-commits
mailing list