Recent Changes - Search:

Creating the Update Roll

tested on Rocks Mamba 6.0 (CentOS 6.2)

The basic idea to create an update roll is to update the Frontend and a Compute Node in order to identify the updated RPMs to be included on the Rocks repository. So, by including this roll to the repository (rocks add roll), the fresh RPMs will be available to be installed when deploying the compute nodes. In addition, there is no need to reinstall all the compute nodes in order to install the updated RPMs. Only issue a yum makecache; yum update on each compute-node to perform the update.

First step is to create the roll skeleton with the "rocks" command:

rocks create new roll 20121105 update color=blue name=update version=20121105

The 20121105 is the date when the updated rpm were downloaded. This number shall be updated each time when the roll is updated with fresh RPMs. After created the roll skeleton, it is required to remove the directories "update" and "userguide" from the "src" directory in order to avoid the make roll command to fail. Also the "update" directory (to build a package called update) can be used to add manual dependencies or custom files when deploying the roll. In this case, we will just remove them.

Then, the CentOS repositories must be enabled. Remember that in Rocks 6.0 (Mamba), the repositories are included by default, but they are disabled. For that, go to the /etc/yum.repos.d, edit the repositories you want, and enable them by changing the "enabled" field from 0 to 1.

The next step is to avoid the update of version sensitive RPMs, such as wordpress, kernel, anaconda and others. For that, please add the following line at the end of the /etc/yum.conf file.

exclude=kernel*,perf,wordpress,fftw,gromacs, gromacs-common, gromacs-libs, anaconda, syslinux
plugins=1 

Then, just execute the following commands to update the frontend.

yum makecache 
yum update

After finishing the update, identify the updated RPMs at the /var/cache/yum directory. Copy these RPMs to either /export/site-roll/rocks/src/roll/update/RPMS/x86_64 or /export/site-roll/rocks/src/roll/update/RPMS/noarch directories (you need to create them) according to the architecture of each new RPMs.

Then, to create the roll, just issue the command

make roll

On the /export/site-roll/rocks/src/roll/update directory. The result should be an ISO file named update-20121105-0.x86_64.disk1.iso.

To add this roll to the repository, please follow the instructions in here