Originally posted by: bill, Mon Mar 12, 2007 2:32 pm

Hi all,

One of the more common questions people ask support is....

'How do I keep my frontend updated?'

Platform OCS is built on Red Hat and CentOS and normally it is pretty straightforward to update a Red Hat cluster, however there are some potential problems that can occur if you blindly update the cluster using 'yum' or 'up2date, they are:

1) Kernel changes can cause problems.
2) Binary drivers for Infiniband, or other network interfaces not compatible with new kernel.
3) useradd, python, or mysql are updated - potentially messing up Platform OCS.

So to avoid these situations we added a simple wrapper tool called 'rocks-update'

'rocks-update' allows you to download packages from RHN (if you have a subscription) or the CentOS repository. Rocks-update downloads a single 'package' and all of its dependencies to the cluster.

Anyhow, enough explaination lets see how it works....

1) When you run 'rocks-update' (on the RHEL version) for the first time you will be presented with a Red Hat Network registration screen.

One you have registered your cluster with RHN it is easy to use rocks-update to keep the frontend current, for example:

2) Assume that a new version of openssh has been released and you wan t to upgrade your cluster....use the rocks-update tool like this...

[root@supprocks ~]# rocks-update -d openssh

rocks-update: Checking for updates (this may take some time)...
rocks-update: Determining if any Packages and Dependencies are needed...
rocks-update: Running up2date to download packages...

Fetching Obsoletes list for channel: rhel-x86_64-as-4...

Fetching rpm headers...

Name Version Rel
----------------------------------------------------------
openssh 3.9p1 8.RHEL4.15 x86_64


Testing package set / solving RPM inter-dependencies...
openssh-3.9p1-8.RHEL4.15.x8 Retrieved.
openssh-askpass-3.9p1-8.RHE Retrieved.
openssh-askpass-gnome-3.9p1 Retrieved.
openssh-clients-3.9p1-8.RHE Retrieved.
openssh-server-3.9p1-8.RHEL Retrieved.
The following packages were added to your selection to satisfy dependencies:

Name Version Release
--------------------------------------------------------------
openssh-askpass 3.9p1 8.RHEL4.15
openssh-askpass-gnome 3.9p1 8.RHEL4.15
openssh-clients 3.9p1 8.RHEL4.15
openssh-server 3.9p1 8.RHEL4.15

rocks-update: End of up2date execution...

WARNING: Ensure that the the above up2date output contains no warnings or errors.
Type "y" to continue or "n" to abort> y
rocks-update: Rebuilding Yum repository...
rocks-update: Synchronizing Rocks distribution (this may take a few minutes) ...
rocks-update: Rocks repository for updates is now 4.1.1.1.
You can now install/update your compute node or frontend appliances.

3) Now that you have successfully downloaded the new openssh package (and dependencies) you can choose when to upgrade the frontend and compute nodes (it is not done automatically). Use the following command to update the cluster....

(to update the frontend)

# rocks-update -f

(to update the compute nodes )

# rocks-update -c


The only limitation of rocks-update is that it will not 'download everything' and patch the nodes....we disabled this because we are blocking the automatic update of the kernel which leads to some problems with other applications that are updated (and rely on the new kernel) ... yes it does sound weird but it actually happened to some clusters so we disabled it....(now you can go into the python script and put it back if you want).

Bill.