[et-mgmt-tools] Using cobbler to mirror repos like updates/extras -- further information

Michael DeHaan mdehaan at redhat.com
Fri Feb 23 16:46:23 UTC 2007


So the question has come up recently about how to use cobbler to manage 
updates for yum.   Looking over the manpage, I think it could use some 
further explanation, and the mentioned rsync URLs aren't very helpful, 
so I'll update the manpage accordingly.  In the meantime, here's some 
more information about repository management:

---

A common use case is keeping a local mirror of FC-6 updates.

cobbler repo add --mirror-url= 
rsync://distro.ibiblio.org/fedora-linux-core/updates/6/i386 
--mirror=fc6i386updates --local-filename=updates

When making new profiles, it would look something like this:

cobbler profile add --name=profilefoo --kickstart=/path/to/kickstart 
--repos="fc6i386updates"

If you want, you can manage more than one repository in cobbler.   A 
good example to this would be managing a mirror of fc6 extras as well as 
updates.

cobbler repo add 
--mirror-url=rsync://mirrors.usc.edu/fedora-core/extras/6/i386 
--mirror=fc6i386updates --local-filename=updates

Now, any profile that has a "--repos" setting that includes 
"fc6i386updates" it will
(A) automatically be able to use the repo in any FC6+ kickstarts for the 
purpcoses of package installation (not useful for updates, but you get 
the idea)
(B) automatically be configured to use this repo for package updates.

This is done by the following template magic in the kickstart file.    
You are free to use your own kickstart files though 
/etc/cobbler/kickstart_fc6.ks is a good reference:

$yum_repo_stanza  (for adding the repo to anaconda)
$yum_config_stanza (for setting up the repo for use by the provisioned 
system for future updates)

If your kickstart file has both of these in it in the right place, like 
/etc/cobbler/kickstart_fc6.ks, your provisioned system will now be using 
your cobbler server as a updates mirror, as opposed to an external 
slower mirror.   That's awesome, especially if you have a lot of systems 
and not a lot of external bandwidth.

You'll probably want to put "cobbler reposync" on a crontab to keep all 
of your repos up to date.    Running it nightly wouldn't be a bad idea.

"cobbler reposync" will update any repos cobbler knows about.   To list 
the configured repos, try "cobbler list repos" or "cobbler report repos".

If something doesn't make sense, let me know, and hopefully I can 
clarify.   Ideally this gives a better idea how to use your local 
provisioning mirror as an update mirror at the same time -- and more 
folks will start to set up local mirrors for provisioning purposes.   
This would be especially good for companies or labs that have a very 
large number of machines.

Repository management for home users is really not required -- the 
default installs will be set up to use the mirror lists (which are 
external), but if you're really into speed or have bandwidth issues, 
these features could still prove interesting.

Don't forget that repo management can also work with other kinds of yum 
repos -- including proprietary software or special tools that aren't 
part of a major distribution.    Since cobbler uses rsync internally, it 
can accept user:password at host:path syntax as well as the rsync:// type 
paths.

--Michael






More information about the et-mgmt-tools mailing list