[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:41:08 UTC 2012


OK. Upon reviewing the code once more, I could get around it for now:

[root at cobbler ks_mirror]# cobbler repo add --name=ubtest --mirror=http://archive.ubuntu.com/ --breed=apt --arch=x86_64

Then, I ran cobbler reposync as shown below. This time, as I 
anticipated, the 'm' in .com is perserved.  But then cobbler didn't
feed debmirror with enough defaults.  So, IMHO there are still two
bugs:

0. Usability. Often times, people forget to end a URL with a slash,
   so we need to accommodate this "habit".
1. Complete defaults should be provided to debmirror.

[root at cobbler ks_mirror]# cobbler reposync
[...]
running: /usr/bin/debmirror --passive --nocleanup --method=http --host=archive.ubuntu.com --root= --dist=  /var/www/cobbler/repo_mirror/ubtest --nosource -a amd64
received on stdout: 
received on stderr: Option root requires an argument
Option dist requires an argument
Usage: /usr/bin/debmirror [options] <mirrordir>

For details, see man page.

Exception occured: <class 'cobbler.cexceptions.CX'>
Exception value: 'cobbler reposync failed'
Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 131, in die
    raise CX(msg)

Exception occured: <class 'cobbler.cexceptions.CX'>
Exception value: 'cobbler reposync failed'
Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/action_reposync.py", line 125, in run
    self.sync(repo)
   File "/usr/lib/python2.6/site-packages/cobbler/action_reposync.py", line 171, in sync
    return self.apt_sync(repo)
   File "/usr/lib/python2.6/site-packages/cobbler/action_reposync.py", line 514, in apt_sync
    utils.die(self.logger,"cobbler reposync failed")
   File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 139, in die
    raise CX(msg)


reposync failed, tries left: 0
Exception occured: <class 'cobbler.cexceptions.CX'>
Exception value: 'reposync failed, retry limit reached, aborting'
Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 131, in die
    raise CX(msg)

Exception occured: <class 'cobbler.cexceptions.CX'>
Exception value: 'reposync failed, retry limit reached, aborting'
Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 89, in run
    rc = self._run(self)
   File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 251, in runner
    name=None, nofail=nofail, logger=self.logger)
   File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 758, in reposync
    return reposync.run(name)
   File "/usr/lib/python2.6/site-packages/cobbler/action_reposync.py", line 147, in run
    utils.die(self.logger,"reposync failed, retry limit reached, aborting")
   File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 139, in die
    raise CX(msg)

!!! TASK FAILED !!!
[...]
> 
>    [...]
>    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