RHN Satellite advice sought: Integrating EPEL and other repos

Latest response

Hello All,

We're working on transitioning from a homegrown yum-repo based software management scheme to RHN Satellite as our central package management scheme. 

 

First some specifics on our environment:

  • 1 Licensed RHN Satellite 5.4 on RHEL 6.2
  • 300+ physical and virtualized Licensed RHEL 5 & 6 i386 & x86_64 clients
  • Need to provide packages from: RedHat Main, EPEL 5, EPEL 6, Dell OpenManage, and in-house YUM repositories
  • Each repo defined in RHN Satellite, with child channels defined under each main channel all pointing toward compatible repos.  Example:
    • Red Hat Enterprise Linux Server (v.6 for 64-bit x86_64) [official Red Hat channel]
      • EPEL 6 Server (x86_64) [custom defined child channel]
        • EPEL-6-REPO [custom repository definition]

 

 

Questions for the sages:

  • Is this setup how others are managing EPEL repos on their RHN-managed RHEL clients?
  • If so, are you finding you have to run a spacewalk-repo-sync action for each custom-defined child channel, even if they point at the same repos?
  • How is everyone making this scale?  With each client only being able to subscribe to one Base Channel, and each child channel (like EPEL 6 x86_64) having to be defined once for each base channel that needs it, this is adding up to a ton of sync jobs. 
  • Am I missing some fundamental way of making this scenerio more effecient with regard to repo syncs?

Thanks!

Responses

Hi Kodiak,

 

What you are attempting to do is correct, syncing once per channel is needed to insert the metadata into the child channel, you should find that the de-duplication of downloads will be making subsequent syncs of (lets say for example's sake, EPEL6 x86_64) non-Red Hat repositories quicker.

 

If you are calling spacewalk-repo-sync directly (or via cron), you may find it easier to schedule the syncs via the Satellite itself (Channels->Manage Software Channels->[Custom Channel]->Repositories->Sync), using either the Daily/Weekly/Monthly options, or using the Quartz format to define frequencies such as weekdays only.  Scheduling the first sync of each unique repository at a time such as 12:00am, followed by subsequent syncs 3-4 hours later, should result in the extra syncs required to make the situation a bit more bearable.

 

- Nigel

Hi Nigel,

Thanks very much for the feedback. 

I will apologize in advance if I am off target as I am not 100% sure I fully understand all of the needs you have described.  I am in the same boat as you (attempting to integrate 3rd party REPOs and custom channels) but I had taken a bit of a different approach.

Since EPEL allows for rsync, my approach was to:

daily rsync specific packages from the "base/parent" EPEL channel to a local directory (i.e. wget)

resign all the packages

rhnpush my local directory to a custom channel

clone the custom channel to the other parent channels that need the REPO

 

Things I have considered, but I do not fully understand the consequences of:

  • once my local directory has a ton of files (say 24,000) due to all the different version releases of packages, how long is the rhnpush going to take?

I imagine we will all work through this to develop an elegant solution, right before the new Satellite prodcut is released ;-)

 

Thanks for presenting this question, as I was working through a response I may have considered an improvement to my approach and I can update the thread if I am successful.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.