Difference between revisions of "GLite on Nikhef Desktops"
(31 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
Download the tarballs from the glite website: | Download the tarballs from the glite website: | ||
− | * glite 3.1: http://glite.web.cern.ch/glite/packages/R3.1/updates.asp | + | * 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 | * glite 3.2: http://glite.web.cern.ch/glite/packages/R3.2/sl5_x86_64/updates.asp | ||
Line 10: | Line 10: | ||
== Extract the tarballs == | == Extract the tarballs == | ||
− | * Log in as the user 'gridadm' on a Nikhef desktop, <tt>login.nikhef.nl</tt> ( | + | * Log in as the user 'gridadm' on a Nikhef desktop, <tt>login.nikhef.nl</tt> (SL5.5) or <tt>login2.nikhef.nl</tt> (SL5.5) |
* Go to the global installation directory | * Go to the global installation directory | ||
cd /global/ices/lcg | cd /global/ices/lcg | ||
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 | ||
− | cp -rp | + | export INSTALL_ROOT_PREV_RELEASE=<Path to the previous installed version> |
− | * Modify the INSTALL_ROOT variable to point to the new 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 <tt>site-info.def</tt> 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 | * Run Yaim | ||
− | $ | + | $INSTALL_ROOT/glite/yaim/bin/yaim -c -s $INSTALL_ROOT/site-info.def -n UI_TAR |
+ | |||
+ | == Create the log directory == | ||
+ | |||
+ | 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 | ||
== Clean up after Yaim == | == Clean up after Yaim == | ||
− | There are a few things that need to be cleaned up/ | + | There are a few things that need to be cleaned up/corrected after a default Yaim configuration: |
* use the correct grid-security directory | * use the correct grid-security directory | ||
− | |||
− | |||
− | |||
− | |||
cd $INSTALL_ROOT/external/etc | cd $INSTALL_ROOT/external/etc | ||
rm -rf grid-security | rm -rf grid-security | ||
ln -fs ../../../grid-security | ln -fs ../../../grid-security | ||
− | * | + | * By default Yaim creates symlinks in the directory $INSTALL_ROOT/etc/profile.d: |
− | 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.csh -> ../../external/etc/profile.d/grid-env.csh | ||
$INSTALL_ROOT/etc/profile.d/grid-env.sh -> ../../external/etc/profile.d/grid-env.sh | $INSTALL_ROOT/etc/profile.d/grid-env.sh -> ../../external/etc/profile.d/grid-env.sh | ||
− | We replace these | + | 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` | set RHEL_VERSION=`/bin/sed -e 's/.* \([0-9]\).*/\1/' /etc/redhat-release` | ||
Line 58: | Line 85: | ||
else | else | ||
set mycshtmpfile=`mktemp /tmp/gridenv.XXXXXX` | set mycshtmpfile=`mktemp /tmp/gridenv.XXXXXX` | ||
− | bash -c "export ISCSHELL=yes ; source /global/ices/lcg/ | + | bash -c "export ISCSHELL=yes ; source /global/ices/lcg/current/etc/profile.d/grid_env.sh" >> $mycshtmpfile |
source $mycshtmpfile | source $mycshtmpfile | ||
rm -f $mycshtmpfile | rm -f $mycshtmpfile | ||
+ | |||
+ | # Allow dcap to work | ||
+ | setenv DCACHE_CLIENT_ACTIVE 1 | ||
endif | endif | ||
Line 67: | Line 97: | ||
then | then | ||
RHEL_VERSION=`/bin/sed -e 's/.* \([0-9]\).*/\1/' /etc/redhat-release` | RHEL_VERSION=`/bin/sed -e 's/.* \([0-9]\).*/\1/' /etc/redhat-release` | ||
− | if [ "$RHEL_VERSION" -lt 4 ] | + | if [ "${RHEL_VERSION}" -lt 4 ] |
then | then | ||
echo "WARNING WARNING WARNING" 1>&2 | echo "WARNING WARNING WARNING" 1>&2 | ||
Line 74: | Line 104: | ||
. /global/ices/lcg/glite3.0.21/etc/profile.d/grid_env.sh | . /global/ices/lcg/glite3.0.21/etc/profile.d/grid_env.sh | ||
else | else | ||
− | INSTALL_ROOT=/global/ices/lcg/glite3.1. | + | ARCH=`/bin/uname -i` |
− | . $INSTALL_ROOT/external/etc/profile.d/grid-env.sh | + | 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... | # fix a few things that Yaim breaks... | ||
− | if [ | + | EXTERNAL_BIN=${INSTALL_ROOT}/external/usr/bin |
+ | if [ "$ARCH" = "x86_64" -a -d "${EXTERNAL_BIN}" ] | ||
then | then | ||
− | export PATH=$ | + | export PATH=${EXTERNAL_BIN}:${PATH} |
fi | fi | ||
unset SRM_PATH | unset SRM_PATH | ||
+ | |||
+ | # allow DCAP to work | ||
+ | export DCACHE_CLIENT_ACTIVE=1 | ||
fi | fi | ||
fi | fi | ||
− | * copy over glite_wms*conf files from bosui | + | Note that glite 3.0.21 is the last version of glite that is supported on SLC 3.x. |
− | To make absolutely sure that we're supporting the same VOs on the Nikhef desktops as on <tt>bosui.nikhef.nl</tt> we copy over the glite_wms*conf files from <tt>bosui</tt>: | + | |
+ | * 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 <tt>bosui.nikhef.nl</tt> we copy over the glite_wms*conf files and the <tt>vomses</tt> directory from <tt>bosui</tt>: | ||
** Make a tarball of the config files: | ** Make a tarball of the config files: | ||
slogin bosui | slogin bosui | ||
cd /opt/glite/etc | cd /opt/glite/etc | ||
− | tar czvf ~/glite-conf.tar.gz */glite*conf | + | tar czvf ~/glite-conf.tar.gz */glite*conf vomses |
** Copy over the file and extract it: | ** Copy over the file and extract it: | ||
cd $INSTALL_ROOT/glite/etc | cd $INSTALL_ROOT/glite/etc | ||
− | scp <user>@bosui:glite-conf.tar.gz | + | scp <user>@bosui:glite-conf.tar.gz . |
tar xzvf glite-conf.tar.gz | tar xzvf glite-conf.tar.gz | ||
+ | rm glite-conf.tar.gz | ||
== Test the new installation == | == Test the new installation == | ||
+ | First we install the new installation '''directly''', i.e. without the platform detection script: | ||
* Load the environment first | * Load the environment first | ||
− | . /global/ices/lcg/glite<VERSION>/etc/profile.d/grid-env.sh | + | . /global/ices/lcg/glite<VERSION>/external/etc/profile.d/grid-env.sh ## Note the 'external'! |
and watch for any warnings/errors | and watch for any warnings/errors | ||
* Generate a proxy | * Generate a proxy | ||
voms-proxy-init -voms pvier | voms-proxy-init -voms pvier | ||
* Delegate your proxy to the WMS | * Delegate your proxy to the WMS | ||
− | glite-wms-delegate-proxy -d $LOGNAME.test | + | glite-wms-job-delegate-proxy -d $LOGNAME.test |
* Do a job list match: | * Do a job list match: | ||
glite-wms-job-list-match -d $LOGNAME.test HelloWorld.jdl | glite-wms-job-list-match -d $LOGNAME.test HelloWorld.jdl | ||
+ | |||
+ | If this works then update the <tt>glite3.2</tt> 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 <tt>/global/ices</tt> 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 |
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