Description of problem: cobble reposync fails if interrupted (on continue) Version-Release number of selected component (if applicable): cobbler-0.4.8-1.fc6 How reproducible: always Steps to Reproduce: 1. interrupt reposync in progress 2. try to run it again Actual results: python stack trace - strace'ing reveals HTTP Unsatisfiable error - related to byte ranges Expected results: successful continuation of download Additional info: using mirrors.kernel.org removing the /var/www/cobbler/repo_mirror/ rpm file that was partially downloaded allows reposync to finish guessing the logic to ask the server for the right byte range has a defect
Bill, Please post the contents of your /var/lib/cobbler/repos file and the contents of the stack trace.
Stacktrace (and last few info messages): /var/www/cobbler/repo_mirror/fc6i386extras/opencv-python-1.0.0-1.fc6.i386.rpm already exists and appears to be complete Downloading openlierox-0.57-0.2.beta1.fc6.i386.rpm Downloading openlierox-0.57-0.3.beta2.fc6.i386.rpm Traceback (most recent call last): File "/usr/bin/reposync", line 196, in ? main() File "/usr/bin/reposync", line 190, in main path = repo.getPackage(pkg) File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 440, in getPackage cache=cache File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 426, in __get raise Errors.RepoError, "failure: %s from %s: %s" % (relative, self.id, e) yum.Errors.RepoError: failure: openlierox-0.57-0.3.beta2.fc6.i386.rpm from fc6i386extras: [Errno 256] No more mirrors to try. cobbler reposync failed repos file: --- - keep_updated: 1 local_filename: fedora-updates mirror: 'http://mirrors.kernel.org/fedora/core/updates/6/i386/' name: fc6i386updates rpm_list: '' - keep_updated: 1 local_filename: fedora-extras mirror: 'http://mirrors.kernel.org/fedora/extras/6/i386/' name: fc6i386extras rpm_list: ''
oh, this is curious - I might have been hasty in my earlier assumption about the download not finishing: This is the one I moved out of the way so it would finish: -rw-r--r-- 1 root apache 39251480 Apr 16 07:21 /tmp/openlierox-0.57-0.3.beta2.fc6.i386.rpm size: 39251480 having done so, the new file, successfully downloaded: -rw-rw-r-- 1 jfredrick bfccomputing 38432280 Apr 16 07:21 /var/www/yum/fedora/extras/6/i386/openlierox-0.57-0.3.beta2.fc6.i386.rpm size: 38432280 So, somehow the buggered one was bigger. I had assumed it was incomplete. Anyway, I have no clue how that happened, but I can see where that could be a problem for the continuation routine I might have written. :)
Created attachment 155652 [details] strace with HTTP info here's an strace of the HTTP exchange. I seems to read each character with a system call, so at least you can see the text, though you have to read down the column.
This looks like a problem in the 'reposync' program, which is a part of the package 'yum-utils'. (I was asking for the cobbler config file so I could determine whether this repo was using reposync or rsync for the copying).
Seth, I've fwd'd this to you as this issue is something with resuming an interrupted reposync as opposed to something cobbler specific. If you need further help figuring this out, let me know. About the original defect: "cobbler reposync" is a command that will sync multiple mirrored repositories, some might use reposync, some might use rsync, etc. In this case, it's an http:// repo, so reposync is being shelled out to using the subprocess module. The options used aren't that interesting -- /usr/bin/reposync --config=$filename --repoid=$name --download_path=$path Thanks!
okay I can't make this happen in yum-utils 1.0.4 on centos5 which is as close as I could find to fc6. Michael, Bill, If either of you can recreate this on rhel5/centos5, f7, f8 or rawhide please reopen. As it is I'm going to mark as fixed in 1.0.4 and up