Components
- Overview
- Prerequisites
- User Pool
- User Schedd
- GSI
- HTCondor
Prerequisite Component Installation
Prerequisite components
The following is needed by GlideinWMS. The installer will install HTCondor 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 HTCondor-supported Linux OS (RH/SL5 tested at press time). | |
HTCondor | v7.8+/ v8.2.3+(BOSCO or Ganglia) |
y | y | y | y | The installer will use the tarball or rpm to install and
configure HTCondor inline. It is recommended to use v8
and above. Batch Submission via BOSCO: If you want to add batch resources (via BOSCO) you need HTCondor v8.2.2+. This version requirement is for the WMS Pool, submitting glideins and the HTCondor client, used to setup the BOSCO resource (bosco_cluster_add). Other components can use previous recommended versions of HTCondor. HTCondor monitoring via Ganglia. GlideinWMS provides configuration files for it. |
|
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, perl-rrdtool and python-rrdtool. These packages are available via yum using EPEL in EL6/7 or can be searched in RPMFind. | |||
M2Crypto | v0.17+ | y | y | This can be installed using yum, if available. Or via tarball. | |||
javascriptRRD (with flot) | v0.6.3+ | 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. |
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 documentation 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
- Recommended: disable indexes (Options -Indexes) in all directories/locations, such as frontend/factory stage/monitor directories.
2. OSG Client
The OSG Worker Node Client (formerly known as VDT Client and OSG Client) is now available as a set of RPMs. OSG provides a complete set of instructions that that we recommend. Here you can follow the instructions to install OSG Client on RHEL 6 and 7 based systems (including CentOS and SL). First 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. For more detail, you have everything explained step by step here.
3. RRDTool
You will also need the python module for RRDTool (currently v1.7.0). Many systems come with packages for it; if possible use that.
You can install it via yum. It is available in the Scientific Linux Repository (slf-primary):
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. The installer will copy the library files to the Web directories during the installation or reconfig steps.