extras-buildsys/builder builder.py,1.44.2.3,1.44.2.4
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Wed Nov 2 02:27:56 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/builder
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8515/builder
Modified Files:
Tag: STABLE_0_4
builder.py
Log Message:
2005-11-01 Dan Williams <dcbw at redhat.com>
* builder/builder.py
- (dl_callback): retry failed downloads from the build
server up to 3 times before failing the job
Index: builder.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/builder/builder.py,v
retrieving revision 1.44.2.3
retrieving revision 1.44.2.4
diff -u -r1.44.2.3 -r1.44.2.4
--- builder.py 1 Nov 2005 15:16:31 -0000 1.44.2.3
+++ builder.py 2 Nov 2005 02:27:54 -0000 1.44.2.4
@@ -91,6 +91,7 @@
self._target_cfg = target_cfg
self._builder_cfg = target_cfg.parent_cfg()
self._srpm_url = srpm_url
+ self._srpm_tries = 0
self._log_fd = None
self._mock_config = None
self._done_status = ''
@@ -167,11 +168,19 @@
self._status = 'downloaded'
self._log("Retrieved %s.\n" % url)
elif dl_status == 'failed':
- # Don't overwrite our status with 'failed' if we were cancelled
- # and a download error ocurred
- if not self.is_done_status():
+ # If job was cancelled, just return
+ if self.is_done_status():
+ return
+
+ # Retry up to 3 times
+ self._srpm_tries = self._srpm_tries + 1
+ if self._srpm_tries >= 3:
self._status = 'failed'
self._log("ERROR: Failed to retrieve %s.\n" % url)
+ else:
+ # retry the download
+ self._status = 'init'
+ self._log("ERROR: Failed to retrieve %s on attempt %d. Trying again...\n" % (url, self._srpm_tries))
def _copy_mock_output_to_log(self):
if self._mock_log and os.path.exists(self._mock_log):
@@ -348,9 +357,9 @@
self._start_cleanup()
def _status_prepping(self):
+ # Mock shouldn't exit at all during the prepping stage, if it does
+ # something is wrong
self._watch_mock('failed', 'failed')
-
- # Check that mock didn't failed already
if self._status != 'prepping':
return
More information about the fedora-extras-commits
mailing list