On Thu, Oct 27, 2011 at 17:31, Dan White <ygor@comcast.net> wrote:
It was getting too long, so I trimmed back to the last response.

Before I start, I want to thank you for taking some of your time to respond to my questions.
I was beginning to think Cobbler was an abandoned orphan child !

The support side of it hasn't been as active for some reason lately, but there are those of us still using and working on it.  the develoeprs just started to implement a new release cycle, and there has been plenty of working going on.  I've got a small list of things I want to add at some point when I have time to.
 
----- Greg Swift <gregswift@gmail.com> wrote:
> I think i get what is happening.  Correct me if I get something wrong:
>
> 1: You have your standard RHN setup that your servers will attach to
> 2: In your cobbler build environment you are mirroring the RHEL base channel
> from RHN so that it can be used during installation for install time updates
> 3: Your cobbler setup then configures your cobbler repos to be present
> post-installation as well

Close enough.  The intention was to serve all the local servers from the one "master mirror" on the Cobbler Server and save some external bandwidth and time taken to vacuum all the updates directly from RHN.

Which is a reasonable plan.  

> So if I interpreted that correctly then, yes, its breaking because it has
> duplicate repositories configured.

Than makes sense, but things never complained until the plugin got an update.

> If i'm wrong ignore the following:

I am still confused.

 I think you have a fairly good grasp of whats wrong and why based on this conversation.
 
> I guess the trick to making this "right" would be something along the lines
> of:
>
> if redhat_management_type is enabled then the generated repo configuration
> should not include any repositories of the type 'rhn' because of the
> conflict potential.

Here's a PasteBin containing the server's "cobbler repo report" and the host's "cat /etc/yum.repo.d/*"

http://pastebin.com/1aG21Uqu

I do not see any rhn-type repos on the host.  They are all pointing at the mirrors.  The references to the RHN channels are coming from somewhere else.


I used the wrong terminilogy.  the 'breed' is rhn.

 
> OR
>
>  cobbler could prefix the repositories with cobbler- in the name when it
> generates the client configuration file. Since cobbler's configured repo
> have a lower priority, you'd always just get your packages from RHN.

If I get my packages from RHN, the local mirror seems a waste.  Does changing the name on the client/host and NOT making the same change on the server break things ?

It would be a waste considering what you are trying to accomplish.  Changing the name on the client is perfectly fine and should not break things.  My suggestion of prefixing the 'cobbler-' in the name would accomplish that.


> But either way, I don't think that yum-plugin is the problem.

Well, I can change the behavior by changing which version I use, so I would politely disagree with you on that point.

Like I said previously, maybe they just implemented more stringent name validation.  I've had duplicate named repositories in straight yum.repo files before and gotten the error you are experiencing, butmaybe the rhn-plugin didn't used to participate in that check.  Making the rhn-plugin use the same checks, while breaking your environment != rhn-plugin being the problem. 

The changelog of yum-rhn-plugin does not seem to indicate that they changed it:

* Tue Sep 06 2011 Milan Zazrivec <mzazrivec@redhat.com> 0.5.4-22.el5_7.2
- Resolves: #736058 - re-allow rhn_check to run successfully without any
  command line arguments
- Resolves: #736060 - re-allow pirut to see repositories provided by RHN
- Don't attempt to re-register a registered system from package updater

* Tue Aug 23 2011 Michael Mraka <michael.mraka@redhat.com> 0.5.4-22.el5_7.1
- Related: #732427 - fixed persistdir definition
- Resolves: #732427 - reverted and reimplemented init_hook -> prereposetup_hook
  change

But my guess is that this has just worked for cobbler because yum-rhn-plugin did not enforce a check before version 0.5.4-22.el5_7.2, and now that it does it breaks.  If yum-rhn-plugin should not be doing a name comparison, then its broken.  But considering yum usually checks the names in .repo files and looks for dupes, I'd assume that its the correct behavior.


But I am willing to entertain alternatives.  Got any ?  :)


So the quick and dirty fix is to just change the repo name in your local yum.conf.  You could probably throw this into your post script of your kickstart like this:

sed -i '/\[rhel-x86_64-server-5\]/\[mirror-rhel-x86_64-server-5\]/' /etc/yum.repos.d/cobbler-config.repo

You might want to test a touch more thoroughly anyways.  If the cost is not set as less than 1000 (the default) , RHN will still take precendence.  I believe cobbler does default to a 99 cost though.  I just haven't tested this part enough to prove that I am right.

As for a more long term fix, I'd love to hear from some of the developers...