I did what I think you want to do by using a manually modified setup
for a while. I have rsync'd copies of the yum repos that I manage
externally to cobbler and I wanted to use my copy of the "Everything"
repo instead of the ISO. I became annoyed at myself since I was
frequently replacing/reprovisioning and updating cobbler. I used
--available-as to point to remote copies of the Everything/$arch/os
tree, but IIRC that didn't quite handle my desired situation
perfectly.
The "tree" definition is easy enough to modify, but now I:
* import the distro from the DVD iso
* delete (JUST!) the yum repository from the sync'd distro. Just
Packages and repodata. It was never going to change and I have a
superset of those packages elsewhere( ie. "Everything")
* replace the tree reference in the distro config with the
"Everything" repository http location.
Now I have a few additional files in my cobbler directory, but nothing
I can't live with, and the cobbler server is somewhat easier to
reprovision. It's essentially what I did before but with less
knowledge work. :)
My current setup works well, but only because every
cobbler-provisioned machine can reach both the cobbler server and the
web server that actually hosts the rsync'd repositories. Since puppet
handles all of my yum repo definitions, I don't even import the repos
into cobbler with --available-as any longer. I just rm -rf
/etc/yum.repos.d/* in my %post and set puppet to auto-sign for my
subnets. Puppet then generates the yum defs, and since all of my
puppet configs require the correct Yum[] definition, they're
guaranteed to be there first.
Doing a cobbler update of images and links by hand seemed cumbersome
to me, and very much like "jumping off the boat". However, I can
certainly see how my way would look equally or more cumbersome.
YMMV.
Mykel