1. Home
  2. Software Management
  3. How do I add a Bright ISO as a YUM repository?

How do I add a Bright ISO as a YUM repository?

or

How do I update my cluster from a new Bright ISO that I just downloaded?

This article is being updated. Please be aware the content herein, not limited to version numbers and slight syntax changes, may not match the output from the most recent versions of Bright. This notation will be removed when the content has been updated.

Outline

If you are the admin for a cluster without direct internet connectivity, one way you can update the cluster is from a Bright ISO. This is covered in the Administrator Manual, in the chapter on post-installation software management, in the section titled: Configuring Local Repositories For Linux Distributions, And For The Bright Cluster Manager Package Repository, For A Software Image.

The basic idea is a two step procedure:

  1. mount the ISO so that its filesystem is accessible as a repository
  2. configure the yum repository
    • for the head node
    • for the software images

Normally this would involve some repository tool incantations. Fortunately, the Bright ISO is already in a repository layout, which means fewer incantations are needed.

The Details

Let’s run through the process with Centos. To shorten what we write, we set an image directory, such as default-image, to the variable $imagedir:
imagedir=/cm/images/default-image

mount the ISO so that its filesystem is accessible.
On the head node, let us mount the ISO, eg: bright-centos.iso, to a newly created directory mnt1:

mkdir /mnt1
mount -o loop bright-centos.iso /mnt1

This lets us access it under /mnt1.

The bind option to mount allows the same directory to be remounted elsewhere. This lets us access it within the software image directory too, in the same relative position. Ie, the image directory path which is for the regular nodes, is like (/) on the head node when it comes to accessing mnt1. For example in /cm/images/default-image/mnt1/, if we do this:

  mkdir $imagedir/mnt1
  mount -o bind /mnt1 $imagedir/mnt1


then the repository is mounted under /mnt1 in the image. The relative paths being the same makes cut-and-paste in the repository configuration files trivially easy in the steps that follow:

Create YUM repo configuration file

  • for the head node

 For the head node, the repository configuration file:

  /etc/yum.repos.d/cm6.1-dvd.repo

can be made. In it, we add the snippet:
  [bright-repo]
  name=Bright Cluster Manager DVD Repo
  baseurl=file:///mnt1/data/cm-rpms/6.1-<whatever>
  enabled=1
  gpgcheck=1
  exclude = slurm* pbspro* sge* torque* cm-hwloc


In the snippet, 6.1-<whatever> will be something like 6.1-7 (you need to put in the exact value that the iso has for the version. ls /mnt1/data/cm-rpms | head -1 should give you this value)

To verify that the newly configured yum repository is usable, first clean up yum cache and run yum repolist:

# yum clean all
# yum repolist
[...]
bright-repo                                             Bright Cluster Manager DVD Repo
[...]

To update the head node with the ISO:

#  yum update

The ISO is formatted as a repository already (Bright 6.0+). If there are repository configuration files that specify repositories to be accessed over the internet, you should probably disable them with an enable=0 instruction or just wait until attempts to access them time out.

  • for the software image

Similarly, for each software image the repository should be configured. For the default-image, a repository configuration file:

  $imagedir/etc/yum.repos.d/cm6.1-dvd.repo

can be made. In it, we can cut and paste the snippet:

  [bright-repo]
  name=Bright Cluster Manager DVD Repo
  baseurl=file:///mnt1/data/cm-rpms/6.1-<whatever>
  enabled=1
  gpgcheck=1
  exclude = slurm* pbspro* sge* torque* cm-hwloc

To verify that the newly configured yum repository is usable, switch to the software image, clean up yum cache and run yum repolist:

# chroot /cm/images/default-image
# yum clean all
# yum repolist
[...]
bright-repo                                             Bright Cluster Manager DVD Repo
[...]

To update the $imagedir with the ISO (you can drop the –installroot option if you are in the chroot already):

# yum --installroot=$imagedir update


 Connection attempts to internet repositories will time out and the local ISO repository will be accessed.

Permanently mounting the DVD

You may consider permanently mounting the Bright DVD:

edit /etc/fstab/ on both head node and software image, and add the following line:
/root/bright-centos.iso /mnt1          loop           defaults      0 0

Repository notes

A background note on the Centos 6 repository that is provided: Centos 6 has a repository, centos6-extra, which contains a small number of extra packages beyond the basic CentOS distribution. These are needed to make Bright Cluster Manager work with CentOS. So, the Bright Cluster Manager DVD has these, as well as most of the basic Centos distribution.

Updated on August 18, 2020

Related Articles

Leave a Comment