GLite on Nikhef Desktops

From PDP/Grid Wiki
Jump to navigationJump to search

Notes on how to install the gLite UI tarball for Nikhef desktop use

Download the tarballs from the glite website:

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
cp -rp ../glite3.1.35/site-info.def ../glite3.1.35/vo.d .
  • Modify the INSTALL_ROOT variable to point to the new version
  • 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

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
  • copy over correct grid-env scripts from the previous release. 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 scripts by scripts that figure out which platform they are running on. 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/glite<VERSION>/external/etc/profile.d/grid-env.sh" >> $mycshtmpfile
  source $mycshtmpfile
  rm -f $mycshtmpfile
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
    INSTALL_ROOT=/global/ices/lcg/glite<VERSION>
    . $INSTALL_ROOT/external/etc/profile.d/grid-env.sh

    # fix a few things that Yaim breaks...
    if [ `/bin/uname -i` = "x86_64" ]
    then
      export PATH=$INSTALL_ROOT/external/usr/bin:$PATH
    fi
    unset SRM_PATH
  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

  • Load the environment first
. /global/ices/lcg/glite<VERSION>/etc/profile.d/grid-env.sh

and watch for any warnings/errors

  • Generate a proxy
voms-proxy-init -voms pvier
  • Delegate your proxy to the WMS
glite-wms-delegate-proxy -d $LOGNAME.test
  • Do a job list match:
glite-wms-job-list-match -d $LOGNAME.test HelloWorld.jdl