Difference between revisions of "Installing updates: OS, CAs, Quattor, VL-e"

From PDP/Grid Wiki
Jump to navigationJump to search
Line 42: Line 42:
 
  $L/../bin/rpmUpdates.pl /project/mirror/centos/5.2/updates/x86_64/RPMS/ > /tmp/updates-centos52_x86_64.tpl
 
  $L/../bin/rpmUpdates.pl /project/mirror/centos/5.2/updates/x86_64/RPMS/ > /tmp/updates-centos52_x86_64.tpl
  
The generated template will contain only the last version of each package found in the update repository, except for the kernel packages, for which all versions are added. By convention, we want Quattor only to keep the installation of the currently running kernel and the desired new kernel version. The other modules should thus be removed by hand.
+
The generated template will contain only the last version of each package found in the update repository, except for the kernel packages, for which all versions are added. By convention, we want Quattor only to keep the installation of the currently running kernel and the desired new kernel version. The other modules should thus be removed by hand or via the script $L/../bin/selectKernels.pl:
 +
  selectKernels.pl -k 2.4.21-58.EL -k 2.4.21-57.EL -b -v /tmp/updates.tpl
 +
(which deletes all kernels from /tmp/updates.tpl, except for 2.4.21-58.EL and 2.4.21-57.EL, stores the original file as /tmp/updates.tpl.bak and produces verbose output).
 +
 
  
 
While editing the generated file, ensure that the template name is <tt>rpms/updates</tt>. Finally copy the edited file to <tt>$L/cfg/os/''<distribution>''/rpms/updates.tpl</tt>
 
While editing the generated file, ensure that the template name is <tt>rpms/updates</tt>. Finally copy the edited file to <tt>$L/cfg/os/''<distribution>''/rpms/updates.tpl</tt>

Revision as of 10:50, 26 May 2009

There are various kinds of packages that need to be updated frequently:

  • updates for the Operating System
  • updates for the gLite middleware
  • updates for the VL-e software
  • new versions of the CA packages
  • new Quattor releases

There is a lot of similarity in these updates. This article describes the procedures for the updates listed above, except for the gLite updates. Updating gLite packages is more complicated than the other updates; therefore, there is a dedicated article Updating Quattor-managed gLite servers.

Installing updates comprises the following steps:

  • Synchronization of the local mirror of the OS repository
  • Generation of Quattor update templates
  • Compilation and deployment

Synchronization of the local mirror

To synchronize the local mirror of the Operating System, execute the following script as user ndpfmgr at Quattor server stal,

mirror-centos

This will synchronize the local OS mirror at host stal with the OS mirror at spiegel.

At the moment, the following distributions are mirrored:

  • CentOS 3.9 i386
  • CentOS 4.7 i386
  • CentOS 4.7 x86_64
  • CentOS 5.2 i386
  • CentOS 5.2 x86_64

Scripts to mirror other software:

  • mirror_cas: refresh the CA mirror in /project/quattor/www/html/mirror/CA/
  • mirror-quattor: refresh the Quattor software under /project/quattor/www/html/quattor/
  • mirror-vle: refresh the VL-e PoC R3 mirror under /project/quattor/www/html/mirror/VL-e//R3/

Generation of the OS update template for Quattor

At host stal using your personal account, run rpmUpdates.pl to generate an update template from the available OS updates:

$L/../bin/rpmUpdates.pl /project/mirror/centos/3.9/updates/i386/RPMS/ > /tmp/updates-centos39_i386.tpl
$L/../bin/rpmUpdates.pl /project/mirror/centos/4.7/updates/i386/RPMS/ > /tmp/updates-centos47_i386.tpl
$L/../bin/rpmUpdates.pl /project/mirror/centos/4.7/updates/x86_64/RPMS/ > /tmp/updates-centos47_x86_64.tpl
$L/../bin/rpmUpdates.pl /project/mirror/centos/5.2/updates/i386/RPMS/ > /tmp/updates-centos52_i386.tpl
$L/../bin/rpmUpdates.pl /project/mirror/centos/5.2/updates/x86_64/RPMS/ > /tmp/updates-centos52_x86_64.tpl

The generated template will contain only the last version of each package found in the update repository, except for the kernel packages, for which all versions are added. By convention, we want Quattor only to keep the installation of the currently running kernel and the desired new kernel version. The other modules should thus be removed by hand or via the script $L/../bin/selectKernels.pl:

 selectKernels.pl -k 2.4.21-58.EL -k 2.4.21-57.EL -b -v /tmp/updates.tpl

(which deletes all kernels from /tmp/updates.tpl, except for 2.4.21-58.EL and 2.4.21-57.EL, stores the original file as /tmp/updates.tpl.bak and produces verbose output).


While editing the generated file, ensure that the template name is rpms/updates. Finally copy the edited file to $L/cfg/os/<distribution>/rpms/updates.tpl

If the target kernel version has changed, the value of the Pan variable KERNEL_VERSION_NUMBER has to be changed accordingly in the template $L/cfg/os/<distribution>/config/os/kernel_version_arch.tpl:

variable KERNEL_VERSION_NUMBER ?= "2.6.9-78.0.8.EL";

Generation of other templates

Update templates for VL-e software can be generated using rpmUpdates.pl. The software update template is located under $L/cfg/grid/vle/<PoC-release>/rpms/<OS-version>/updates.tpl

The easiest way to deal with a set of new CAs, is to download the template from the CA site: [http://groep.web.cern.ch/groep/cadist/] (you need to go down into the directory corresponding to the new release and get the file pro_software_meta_lcg_CA.tpl). This file needs to be customized: the template's name should read common/security/lcg-CA and should eventually be saved as $L/cfg/grid/common/security/lcg-CA.tpl

To change the Quattor software that is installed, the new versions should be added by hand to the templates, to be found under $L/cfg/os/<distribution>/rpms/quattor.tpl

Compilation and Deployment

Perform a test compilation in your local environment and do not forget to refresh the repository templates:

makexprof -u -f itb

If this succeeds, commit the changes to SVN and follow the deployment procedure to install the updates.

Note: if a kernel update is installed, schedule a reboot of the node(s) to ensure that the desired kernel is loaded as soon as possible, to prevent surprises at a later stage.