Difference between revisions of "GLite on Nikhef Desktops"
(7 intermediate revisions by 2 users not shown) | |||
Line 17: | Line 17: | ||
cd glite<VERSION> | cd glite<VERSION> | ||
where <tt><VERSION></tt> denotes the full version number of the glite update, e.g. 3.1.35 | where <tt><VERSION></tt> denotes the full version number of the glite update, e.g. 3.1.35 | ||
− | * | + | * Download the Tarball and the User Dependencies for Tarball from http://glite.web.cern.ch/glite/packages/R3.2/sl5_x86_64/deployment/glite-UI/glite-UI.asp and unpack them |
− | + | tar xvzf glite-UI-<VERSION>-0.tar.gz | |
− | tar | + | tar xvzf glite-UI-<VERSION>-0-external.tar.gz |
+ | |||
+ | == Install compatibility librarier for SL6 == | ||
+ | |||
+ | For Scientific Linux 6 a few compatibility libraries are needed from SL/CentOS 5. Copy them over from an SL5 machine: | ||
+ | cd /global/ices/lcg/glite<VERSION>/glite/lib64 | ||
+ | cp -a /lib64/libssl* . | ||
+ | cp -a /lib64/libcrypto* . | ||
+ | cp -a /lib64/libexpat.so.0* . | ||
+ | cp -a /usr/lib64/libcurl* . | ||
+ | cp -a /usr/lib64/libreadline.so* . | ||
+ | |||
+ | Check the dependencies for a few executables on an SL6 machine: | ||
+ | ldd /global/ices/lcg/glite<VERSION>/glite/bin/voms-proxy-info | grep "not found" | ||
+ | ldd /global/ices/lcg/glite<VERSION>/globus/bin/globus-url-copy | grep "not found" | ||
== Configure using Yaim == | == Configure using Yaim == | ||
− | * Copy a <tt>site-info.def</tt> from a previous installation | + | * Copy a <tt>site-info.def</tt> and the <tt>vo.d</tt> directory from a previous installation |
cd /global/ices/lcg/glite<VERSION> | cd /global/ices/lcg/glite<VERSION> | ||
export INSTALL_ROOT=$PWD | export INSTALL_ROOT=$PWD | ||
export INSTALL_ROOT_PREV_RELEASE=<Path to the previous installed version> | export INSTALL_ROOT_PREV_RELEASE=<Path to the previous installed version> | ||
− | cp -rp | + | cp -rp $INSTALL_ROOT_PREV_RELEASE/site-info.def $INSTALL_ROOT_PREV_RELEASE/vo.d . |
− | * Modify the INSTALL_ROOT variable to point to the new version | + | * Modify the INSTALL_ROOT variable to point to the new version in site-info.def |
− | * Be sure that the YAIM and JDK versions are the right ones | + | * Be sure that the YAIM (YAIM_VERSION) and JDK (JAVA_LOCATION) versions are the right ones in site-info.def |
* Don't worry about the list of VOs in this <tt>site-info.def</tt> file. We'll fix that later | * Don't worry about the list of VOs in this <tt>site-info.def</tt> file. We'll fix that later | ||
* Create a grid-security directory, otherwise Yaim will barf: | * Create a grid-security directory, otherwise Yaim will barf: | ||
Line 35: | Line 49: | ||
ln -fs ../../grid-security | ln -fs ../../grid-security | ||
* Run Yaim | * Run Yaim | ||
− | $ | + | $INSTALL_ROOT/glite/yaim/bin/yaim -c -s $INSTALL_ROOT/site-info.def -n UI_TAR |
== Create the log directory == | == Create the log directory == | ||
− | The user <tt>gridadm</tt> has a crontab on host <tt> | + | The user <tt>gridadm</tt> has a crontab on host <tt>login2.nikhef.nl</tt> which keeps the grid certificates up-to-date. The output of this script is written to the directory <tt>$INSTALL_ROOT/log</tt>, so we'd better make sure this directory exists: |
mkdir $INSTALL_ROOT/log | mkdir $INSTALL_ROOT/log | ||
Line 57: | Line 71: | ||
cd $INSTALL_ROOT/etc | cd $INSTALL_ROOT/etc | ||
rm -rf profile.d | rm -rf profile.d | ||
− | ln -fs | + | 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. | The contents of these scripts contain a hard-coded reference to the platform-specific gLite version. The contents of the scripts are shown below. |
Latest revision as of 16:35, 22 April 2014
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 (Currently not used)
- 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 (SL5.5) or login2.nikhef.nl (SL5.5)
- 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
- Download the Tarball and the User Dependencies for Tarball from http://glite.web.cern.ch/glite/packages/R3.2/sl5_x86_64/deployment/glite-UI/glite-UI.asp and unpack them
tar xvzf glite-UI-<VERSION>-0.tar.gz tar xvzf glite-UI-<VERSION>-0-external.tar.gz
Install compatibility librarier for SL6
For Scientific Linux 6 a few compatibility libraries are needed from SL/CentOS 5. Copy them over from an SL5 machine:
cd /global/ices/lcg/glite<VERSION>/glite/lib64 cp -a /lib64/libssl* . cp -a /lib64/libcrypto* . cp -a /lib64/libexpat.so.0* . cp -a /usr/lib64/libcurl* . cp -a /usr/lib64/libreadline.so* .
Check the dependencies for a few executables on an SL6 machine:
ldd /global/ices/lcg/glite<VERSION>/glite/bin/voms-proxy-info | grep "not found" ldd /global/ices/lcg/glite<VERSION>/globus/bin/globus-url-copy | grep "not found"
Configure using Yaim
- Copy a site-info.def and the vo.d directory 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 $INSTALL_ROOT_PREV_RELEASE/site-info.def $INSTALL_ROOT_PREV_RELEASE/vo.d .
- Modify the INSTALL_ROOT variable to point to the new version in site-info.def
- Be sure that the YAIM (YAIM_VERSION) and JDK (JAVA_LOCATION) versions are the right ones in site-info.def
- 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
$INSTALL_ROOT/glite/yaim/bin/yaim -c -s $INSTALL_ROOT/site-info.def -n UI_TAR
Create the log directory
The user gridadm has a crontab on host login2.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