Components
- Overview
- Prerequisites
- User Collector
- User Schedd
- GSI
- Condor
Prerequisite Component Installation
Prerequisite components
The following is needed by glideinWMS. The installer will install Condor but all others should be installed before you begin. The javascriptRRD directory will also need to be provided to the installer.
Software | Version | WMS collector | Factory | User collector | Submit | Glidein Frontend | Comments |
glideinWMS | v3.0+ | y | y | y | y | y | |
Linux OS | y | y | y | y | y | A reasonably recent Condor-supported Linux OS (RH/SL5 tested at press time). | |
Condor | v7.2.+ | y | y | y | y | The installer will use the tarball or rpm to install and configure Condor inline. It is recommended to use v7.4 and above. | |
OSG client | current version | y | y | y | y | Needed to generate grid/voms proxies. See below for instructions. | |
Python | v2.4.3+ | y | y | y | y | y | |
HTTP server | y | y | Apache, TUX or whatever server of choice. This port will need open access to the internet, so worker nodes can download data from this service. | ||||
RRDTool | V1.2.18+ | y | y |
The perl-Time-HiRes rpm is needed for this package. Please verify all dependencies:
rrdtool-1.2.18-1.el4.rf.i386.rpm perl-rrdtool-1.2.18-1.el4.rf.i386.rpm python-rrdtool-1.2.18-1.el4.rf.i386.rpm |
|||
M2Crypto | v0.17+ | y | y | This can be installed using yum, if available. Or via tarball. | |||
javascriptRRD | v0.6.1+ | y | y | Note: JavascriptRRD and flot, are available from different sources however they may not always work when installed separately for glideinWMS. We only support JavascriptRRD with Flot available from the sourceforge link provided. |
NOTE:
- Condor version v7.3.1 has a known issue with incorrect return/exit codes of condor_status and condor_q
-
If you are using Condor version v7.3.2 disable VOMS checking in condor_config file used by Condor daemons other
than that used by user schedd. VOMS checking adds unrequired overhead. To do so, set
USE_VOMS_ATTRIBUTES = False
or for individual condor daemons like collector
COLLECTOR.USE_VOMS_ATTRIBUTES = False
1. HTTP server
You will need to install an HTTP server for glideinWMS to be used for staging and monitoring. This needs to be installed on a port accessible to the outside. The server should be installed on the same node, but a different node can be used as long as the web area is writable from this one. In particular, the staging directory will need to be accessible to glideins so they can download appropriate software.
The choice of web server is independent of glideinWMS, but this tutorial will only show the example of Apache Web Server. For most systems, this can be installed via yum:
yum install httpd
Other options are available from Apache here.
There are several recommended tasks you may want to also do post-installation to secure and prepare your web server.
- Disable all unneeded modules. Glideinwms does not any non-standard modules and many can be disabled. A list of example modules to keep enabled is below: 'access_module','include_module','log_config_module', 'mime_magic_module','expires_module','deflate_module', 'headers_module','setenvif_module','mime_module', 'status_module','autoindex_module','negotiation_module', 'dir_module','imap_module','alias_module','rewrite_module', 'cache_module','file_cache_module','mem_cache_module', 'authz_host_module','authz_default_module'.
- Disable any (unneeded) extensions in /etc/httpd/conf.d
2. OSG VDT Client
The OSG Client is now available as a set of RPMs. To install the OSG Client, you will need to enable the EPEL and OSG repositories. It is also advisable to enable the yum priorities module in order to guarantee the correct packages. The following commands will enable the repositories:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum install yum-priorities rpm -Uvh http://repo.grid.iu.edu/osg-release-latest.rpmNext, you can install osg client:
yum install osg-clientYou may also want to enable the fetch-crl service to keep your certificate revocation lists up to date:
fetch-crl /sbin/service fetch-crl-boot start /sbin/service fetch-crl-cron start /sbin/chkconfig fetch-crl-boot on /sbin/chkconfig fetch-crl-cron on
3. RRDTool
You will also need the python module for RRDTool (v1.2.18 or later). Many systems come with packages for it; if possible use that.
RPMs for Redhat/Scientific Linux distributions can be found
here.
However, if you have the OSG repositories enabled, you can install it via yum:
yum install rrdtool rrdtool-python
If installing as root is not an option, you can build from the sources, as the glidein factory
user, and put the python libraries into the PYTHON_PATH.
The source code can be downloaded from here.
Beware: The build process has several dependencies that make it complicated. Use this option only if you cannot install from RPMs
(or similar).
4. M2Crypto
You will need the M2Crypto python library. However, if you have the OSG repositories enabled, you can install it via yum:
yum install m2crypto
If your system does not come with m2crypto package, or you do not can/want install it as root, compile it from source as
the glidein factory user.
The source code can be downloaded from
here.
The build process is very easy:
python setup.py build
python setup.py install --root <base dir>
Finally add M2Crypto site-packages into the PYTHONPATH, possibly in the .profile, .bashrc and/or in the .cshrc.
The exact path is system specific. On a 32bit system with python 2.3.x it will look like this:
export PYTHONPATH=$PYTHONPATH:<base dir>/usr/lib/python2.3/site-packages/
5. javascriptRRD
You will need the javascriptRRD package. It contains the javascript libraries needed by the monitoring. If you enabled the OSG repositories (above), you can install it via yum:
yum install javascriptrrd
Otherwise, download the tarball (with flot), and untar it. You will need to point the installer to this directory.