[cobbler] cobbler 2.4.0 Ubuntu repository mirroring hostname off-by-one parsing error?

Zack Perry zack.perry at sbcglobal.net
Wed Nov 28 18:28:38 UTC 2012


cobbler: 2.4.0 from epel-testing
host   : SL 6.43 64 bit

In http://cobbler.github.com/manuals/2.2.3/4/7_-_Package_Management_and_Mirroring.html "Also apt" section, there is this example:

cobbler repo add --name=foo --mirror=http://url --breed=apt --arch=i386

So far, I have been using either ISO image import or apt-mirror to do direct Ubuntu mirror as debmirror was not available for RHEL for quite some time.  But now since debmirror is on my cobbler server, so I decided to give cobbler's apt mirror a work-out:

[root at cobbler ~]# cobbler repo add --name=ubtest --mirror=http://us.archive.ubuntu.com --breed=apt --arch=x86_64
[root at cobbler ~]# cd /var/www/cobbler/ks_mirror
[root at cobbler ks_mirror]# cobbler repo list
   [...]
   ubtest
   [...]
[root at cobbler ks_mirror]# cobbler reposync
task started: 2012-11-28_095927_reposync
task started (id=Reposync, time=Wed Nov 28 09:59:27 2012)
hello, reposync
run, reposync, run!
running: /usr/bin/debmirror --passive --nocleanup --method=http --host=us.archive.ubuntu.co --root=us.archive.ubuntu.co --dist=hive.ubuntu.com  /var/www/cobbler/repo_mirror/ubtest --nosource -a amd64
received on stdout: gpgv: keyblock resource `/var/lib/cobbler/.gnupg/trustedkeys.gpg': No such file or directory
gpgv: no valid OpenPGP data found.
[GNUPG:] NODATA 1
[GNUPG:] NODATA 2
gpgv: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.
Errors:
 Release gpg signature does not verify

received on stderr: rsync: failed to connect to us.archive.ubuntu.co: Connection timed out (110)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]
Warning: failed to use rsync to download extra files.
[...]

So, the character 'm' in the us.archive.ubuntu.com got chopped off before the source hostname was fed to debmirror.  Looks like there is an off-by-one error in action_reposync.py?

   [...]
   474              idx = mirror.find("://")
   475              method = mirror[:idx]
   476              mirror = mirror[idx+3:]
   477  
   478              idx = mirror.find("/")
   479              host = mirror[:idx]
   480              mirror = mirror[idx+1:]
   481  
   482              idx = mirror.rfind("/dists/")
   483              suite = mirror[idx+7:]
   484              mirror = mirror[:idx]
   485  
   486              mirror_data = "--method=%s --host=%s --root=%s --dist=%s " % ( method , host , mirror , suite )
   [...]

Regards,

-- Zack


More information about the cobbler mailing list