Yum Repo Mirror

Mirroring the HTCondor YUM Repository

Motivation

Some of our collaborators in Europe or other continents would like to keep a locally available mirror for the ease of updating their YUM installs of HTCondor in large pools. Since all of the HTCondor YUM repository is already publicly available, there is no enforceability to restrict the mirroring of it. Hence it is made available.

UW-Madison Server Configuration

This section is information for the HTCondor Team.

On parrot.cs.wisc.edu , in the /etc/rsyncd.conf file, you will find these configurations. They were set up by the CSL at the HTCondor Team's request and are maintained by the CSL. The HTCondor Team uses the usual channels to communicate with the CSL when this configuration needs changing. There should be nothing surprising or confidential in this configuration.

[condor-yum-development]
path=/p/condor/public/html/yum/development
read only = true
uid=nobody
gid=nobody

[condor-yum-stable]
path=/p/condor/public/html/yum/stable
read only = true
uid=nobody
gid=nobody

[condor-yum-repo.d]
path=/p/condor/public/html/yum/repo.d
read only = true
uid=nobody
gid=nobody

Mirror Site Actions

This section is information for those wishing to mirror the repository.

One would mirror the HTCondor YUM repository with these commands. There are large files in this repo and it could take a while to perform the copy.

> mkdir <path>/yum
> cd <path>/yum
> rsync -av rsync://parrot.cs.wisc.edu/condor-yum-development development
> rsync -av rsync://parrot.cs.wisc.edu/condor-yum-stable stable
> rsync -av rsync://parrot.cs.wisc.edu/condor-yum-repo.d repo.d

The finished directory structure will look like this:

  • <path>/yum
    • /development - Contains Development Repositories
      • /rhel4 - The Rhel 4 release of HTCondor
        • /condor-7.5.-* - The development version RPM files for RHEL4
        • /repodata - The index files for this portion of the repo.
          • /filelists.xml.gz
          • /other.xml.gz
          • /primary.xml.gz
          • /repomd.xml
      • /rhel5 - The Rhel 5 release of HTCondor
        • /condor-7.5.-* - The development version RPM files for RHEL5
        • /repodata - The index files for this portion of the repo.
          • /filelists.xml.gz
          • /other.xml.gz
          • /primary.xml.gz
          • /repomd.xml
    • /stable - Contains Stable Repositories
      • /rhel4 - The Rhel 4 release of HTCondor
        • /condor-7.4.-* - The stable version RPM files for RHEL4
        • /repodata - The index files for this portion of the repo.
          • /filelists.xml.gz
          • /other.xml.gz
          • /primary.xml.gz
          • /repomd.xml
      • /rhel5 - The Rhel 5 release of HTCondor
        • /condor-7.4.-* - The stable version RPM files for RHEL5
        • /repodata - The index files for this portion of the repo.
          • /filelists.xml.gz
          • /other.xml.gz
          • /primary.xml.gz
          • /repomd.xml
    • /repo.d - Store repo files that describe the yum repo locations
      • /condor-development-rhel4.repo - A Repo Description File
      • /condor-development-rhel5.repo - A Repo Description File
      • /condor-stable-rhel4.repo - A Repo Description File
      • /condor-stable-rhel5.repo - A Repo Description File

Now we must modify the repo files to point to the mirrored repository. These changes allow YUM requests against the mirror site to get the right files from the right place.

  1. Modify the store repo files to contain the new url to the RPMs. The files that must be modified are listed. The attribute which needs changing is the baseurl attribute in each of these files. This must point to a fully qualified URL at the local mirror site.
    1. <path>/yum/repo.d/condor-development-rhel4.repo
    2. <path>/yum/repo.d/condor-development-rhel5.repo
    3. <path>/yum/repo.d/condor-stable-rhel4.repo
    4. <path>/yum/repo.d/condor-stable-rhel4.repo
  2. Update index files by executing the following commands. This will create/update the index files for each directory.
    > cd <path>/yum
    > createrepo stable/rhel4
    > createrepo stable/rhel5
    > createrepo development/rhel4
    > createrepo development/rhel5
    
  3. Optionally create a <path>/yum/index.html web page which describes installation directions with links to the mirrored repository. An example of such a page is here . Once this page is created, its URL should be advertised so people can easily find and use the mirror. Note: Do not copy the example page verbatim, as it will point to UW-Madison's HTCondor YUM repository!

Collaborators known to mirror the HTCondor YUM repository