extras-buildsys/server ArchJob.py, 1.10, 1.10.2.1 PackageJob.py, 1.21.2.3, 1.21.2.4

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Thu Sep 8 21:05:43 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8252/server

Modified Files:
      Tag: STABLE_0_3
	ArchJob.py PackageJob.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: ArchJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/ArchJob.py,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -u -r1.10 -r1.10.2.1
--- ArchJob.py	8 Aug 2005 02:54:16 -0000	1.10
+++ ArchJob.py	8 Sep 2005 21:05:22 -0000	1.10.2.1
@@ -50,6 +50,7 @@
         self.arch = arch
         self._builder_gone = False
         self.downloads = {}
+        self._download_failed = False
         self.starttime = time.time()
         self.endtime = 0
         self._die = False
@@ -65,6 +66,9 @@
             return True
         return False
 
+    def download_failed(self):
+        return self._download_failed
+
     def builder_prepping(self):
         if self.builder_status == 'prepping':
             return True
@@ -127,7 +131,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.arch, self.bci.address(), e)
         except xmlrpclib.ProtocolError, e:
             pass
@@ -170,6 +174,7 @@
             #   2: error
             #   3: done
             undownloaded = False
+            failed = False
             for url in self.downloads.keys():
                 dl_status = self.downloads[url]
                 if dl_status == 0:
@@ -193,6 +198,7 @@
                     break
                 elif dl_status == 2:
                     # error
+                    failed = True
                     continue
                 elif dl_status == 3:
                     # this one is done
@@ -202,6 +208,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()
 


Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.21.2.3
retrieving revision 1.21.2.4
diff -u -r1.21.2.3 -r1.21.2.4
--- PackageJob.py	31 Aug 2005 01:23:46 -0000	1.21.2.3
+++ PackageJob.py	8 Sep 2005 21:05:22 -0000	1.21.2.4
@@ -536,7 +536,12 @@
                 continue
             if job.get_status() is 'done':
                 if job.builder_failed():
-                    msg = "Job failed on arch %s\n" % (job.arch)
+                    msg = "Job failed on arch %s\n" % job.arch
+                    self._archjobs_lock.release()
+                    raise BuildError(msg, job.arch)
+                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." % (job.arch, builder.address())
                     self._archjobs_lock.release()
                     raise BuildError(msg, job.arch)
                 else:




More information about the fedora-extras-commits mailing list