
I have recently begun learning to use kusu for cluster management. Kusu maintains what is called a repository for managing installation images, software packages, as well as other assorted information for distribution to cluster nodes. A repository is specific to a single operating system.
While kusu allows you to distribute packages at the RPM level, the best way to deliver a software system from the repository to the nodes is by using a “kit”. A kit consists of a component RPM, the software RPMs, and the kit RPM itself.
The steps for adding a kit to a repository are:
- Build the repository and/or kit RPMs from source;
- install the kit RPM. It will be called something like "my-kit-<name>", where name is the name of the kit (e.g. hpc) I use the yum command to install the kit. The kit will install all of the files necessary for the software system into a single directory path. Depending on the authors of the kit, it may come with an installation script called
"install-kit-<name> " in the /opt/kusu/sbin directory; - If the kit came with the script, you can simply run:
$ install-kit-<name> -r <repository name>
where the repository name is specific to the operating system. Without this type of script, you will need to execute the following steps by hand: - Create a new kit:
$ kitops -add -m <path to kit files>; - Add the kit to the repository:
$ repoman -a -k <kit name> -r <repository name>
(I believe that the repository manager command, repoman, is a reference the movie of the same name); - Update the repository:
$ repoman -u -r <repository name>
A repository update deletes the existing files and creates new ones from scratch; - Synchronize the files from the installer node to the cluster node:
$ cfmsync -f -p - Choose the node group(s) to which to add the package using the ngedit command.
Unfortunately, updating the repository requires a lot of patience. The ten to twenty minutes I spend waiting each time I run an update is very frustrating. While much of this wait might be caused from using virtual machines for a test cluster, I can think of a number of other loads that could have equivalent, if not worse, impacts.
This situation is particularly bad when I am working on the creation of a new kit. Three or so small changes can easily take an hour. Thus my productivity during those times approaches zero. If kusu is to be widely accepted by the grid community, the repository update process will need to be streamlined.

Although installing