GLite on Nikhef Desktops
Notes on how to install the gLite UI tarball for Nikhef desktop use
Download the tarballs from the glite website:
- glite 3.1: http://glite.web.cern.ch/glite/packages/R3.1/updates.asp
- glite 3.2: http://glite.web.cern.ch/glite/packages/R3.2/sl5_x86_64/updates.asp
Make sure to download both the glite-UI tarball itself and the glite-UI-externals tarball.
Extract the tarballs
- Log in as the user 'gridadm' on a Nikhef desktop, login.nikhef.nl (SL4) or login2.nikhef.nl (SL5)
- Go to the global installation directory
cd /global/ices/lcg
- Create a directory for the new tarball and 'cd' into it,
mkdir glite<VERSION> cd glite<VERSION>
where <VERSION> denotes the full version number of the glite update, e.g. 3.1.35
- Unpack the tarballs
tar xzf .../glite-UI-<VERSION>-0.tar.gz tar xzf .../glite-UI-<VERSION>-0-external.tar.gz
Configure using Yaim
- Copy a site-info.def from a previous installation
cd /global/ices/lcg/glite<VERSION> export INSTALL_ROOT=$PWD export INSTALL_ROOT_PREV_RELEASE=<Path to the previous installed version> cp -rp ../glite3.1.35/site-info.def ../glite3.1.35/vo.d .
- Modify the INSTALL_ROOT variable to point to the new version
- Be sure that the YAIM and JDK versions are the right ones
- Don't worry about the list of VOs in this site-info.def file. We'll fix that later
- Create a grid-security directory, otherwise Yaim will barf:
cd $INSTALL_ROOT/etc ln -fs ../../grid-security
- Run Yaim
$PWD/glite/yaim/bin/yaim -c -s $PWD/site-info.def -n UI_TAR
Create the log directory
The user gridadm has a crontab on host ribble.nikhef.nl which keeps the grid certificates up-to-date. The output of this script is written to the directory $INSTALL_ROOT/log, so we'd better make sure this directory exists:
mkdir $INSTALL_ROOT/log
Clean up after Yaim
There are a few things that need to be cleaned up/corrected after a default Yaim configuration:
- use the correct grid-security directory
cd $INSTALL_ROOT/external/etc rm -rf grid-security ln -fs ../../../grid-security
- By default Yaim creates symlinks in the directory $INSTALL_ROOT/etc/profile.d:
$INSTALL_ROOT/etc/profile.d/grid-env.csh -> ../../external/etc/profile.d/grid-env.csh $INSTALL_ROOT/etc/profile.d/grid-env.sh -> ../../external/etc/profile.d/grid-env.sh
We replace these links by scripts that figure out which platform they are running on:
cd $INSTALL_ROOT/etc rm -rf profile.d ln -fs ../../../etc/profile.d
The contents of these scripts contain a hard-coded reference to the platform-specific gLite version. The contents of the scripts are shown below.
For csh/tcsh:
set RHEL_VERSION=`/bin/sed -e 's/.* \([0-9]\).*/\1/' /etc/redhat-release` if ( "$RHEL_VERSION" < 4 ) then echo "WARNING WARNING WARNING" echo "You're running on RHEL/SLC/CentOS 3.x! glite support for this platform is deprecated!" echo " (for now things will/should still work but in the near future this might change...)" source /global/ices/lcg/glite3.0.21/etc/profile.d/grid_env.csh else set mycshtmpfile=`mktemp /tmp/gridenv.XXXXXX` bash -c "export ISCSHELL=yes ; source /global/ices/lcg/current/etc/profile.d/grid_env.sh" >> $mycshtmpfile source $mycshtmpfile rm -f $mycshtmpfile # Allow dcap to work setenv DCACHE_CLIENT_ACTIVE 1 endif
and for bash/zsh:
if [ "X${GLITE_ENV_SET+X}" = "X" ] then RHEL_VERSION=`/bin/sed -e 's/.* \([0-9]\).*/\1/' /etc/redhat-release` if [ "${RHEL_VERSION}" -lt 4 ] then echo "WARNING WARNING WARNING" 1>&2 echo "You're running on RHEL/SLC/CentOS 3.x! glite support for this platform is deprecated!" 1>&2 echo " (for now things will/should still work but in the near future this might change...)" 1>&2 . /global/ices/lcg/glite3.0.21/etc/profile.d/grid_env.sh else ARCH=`/bin/uname -i` if [ "${RHEL_VERSION}" -eq 4 -o "${ARCH}" = "i386" ] then INSTALL_ROOT=/global/ices/lcg/glite3.1 else INSTALL_ROOT=/global/ices/lcg/glite3.2 fi . ${INSTALL_ROOT}/external/etc/profile.d/grid-env.sh # fix a few things that Yaim breaks... EXTERNAL_BIN=${INSTALL_ROOT}/external/usr/bin if [ "$ARCH" = "x86_64" -a -d "${EXTERNAL_BIN}" ] then export PATH=${EXTERNAL_BIN}:${PATH} fi unset SRM_PATH # allow DCAP to work export DCACHE_CLIENT_ACTIVE=1 fi fi
Note that glite 3.0.21 is the last version of glite that is supported on SLC 3.x.
- copy over glite_wms*conf files from bosui. To make absolutely sure that we're supporting the same VOs on the Nikhef desktops as on bosui.nikhef.nl we copy over the glite_wms*conf files and the vomses directory from bosui:
- Make a tarball of the config files:
slogin bosui cd /opt/glite/etc tar czvf ~/glite-conf.tar.gz */glite*conf vomses
- Copy over the file and extract it:
cd $INSTALL_ROOT/glite/etc scp <user>@bosui:glite-conf.tar.gz . tar xzvf glite-conf.tar.gz rm glite-conf.tar.gz
Test the new installation
First we install the new installation directly, i.e. without the platform detection script:
- Load the environment first
. /global/ices/lcg/glite<VERSION>/external/etc/profile.d/grid-env.sh ## Note the 'external'!
and watch for any warnings/errors
- Generate a proxy
voms-proxy-init -voms pvier
- Delegate your proxy to the WMS
glite-wms-job-delegate-proxy -d $LOGNAME.test
- Do a job list match:
glite-wms-job-list-match -d $LOGNAME.test HelloWorld.jdl
If this works then update the glite3.2 symlink to point to the new installation:
cd /global/ices/lcg rm glite3.2 ln -fs g glite<VERSION> glite3.2
Now start with a fresh shell (i.e. one where the /global/ices environment is not yet loaded) :
- Load the environment first
. /global/ices/lcg/glite3.2/etc/profile.d/grid-env.sh ## Note the lack of 'external'!
and watch for any warnings/errors
- Generate a proxy again:
voms-proxy-init -voms pvier