Release Notes for new 3.1 WMS/LB released to Production as part of gLite 3.0
These notes describe the new version of the WMS/LB released to production.
Versions
This WMS/LB is built for SL3/VDT1.2 and therefore is being released as an update to gLite 3.0. The codebase is commonly referred to as '3.1', so
you will hear this version of the WMS/LB referred to as '3.1'. It is the 3.1 WMS/LB for gLite 3.0.
Work is currently ongoing to prepare the 3.1 WMS/LB for gLite 3.1 (ie SL4/VDT1.6, built with
ETICS).
Changes
This version contains considerable changes and enhancements with respect to what is currently in production.
- Reimplementation of collections
- Many bugfixes and internal enhancements resulting in enormously improved stability
- Yaim/bash configuration
The Network Server has been removed from this release as it is no longer supported by JRA1.
Please see the changelog at the end of this document for full details.
Installation and Configuration
Please note
- This release has needed special versions of various packages which means
- There is a dedicated repository for the WMS/LB (no need to use the existing 3.0 repo) (see below)
- There is no upgrade from the existing release
- Installation of WMS and LB on separate nodes is recommended where possible
APT repository
A new repository has been set up to install the glite-WMS and glite-LB metapackages. There is a repository for each metapackage with the 3 repository directories:
- externals
- Release3.0
- updates
To install, you need to create the following entry in your apt configuration file (e.g. /etc/apt.conf/glite.list):
For the glite-WMS node:
rpm http://glitesoft.cern.ch/EGEE/gLite/APT/R3.0/glite-WMS rhel30 externals Release3.0 updates
For the glite-LB node:
rpm http://glitesoft.cern.ch/EGEE/gLite/APT/R3.0/glite-LB rhel30 externals Release3.0 updates
The repositories are self-contained in the sense that you only need to specify this new repository to install the WMS and you do not need to specify the old 3.0 repository.
Configuration
The
YAIM configuration instructions for this WMS are the same as before, but all python scripts have been replaced with bash scripts. All configuration files used with
YAIM 3.0.1 should be compatible with the
YAIM 3.1.0
Please note the following differences between yaim 3.0.1 and 3.1:
- the configure_node, install_node and run_function are obsoleted although they are still located in the "/opt/glite/yaim/scripts" directory, please do not use them The configuration will very probably fail. All these commands will be removed in the next release. Their functionality has been replaced by new command yaim which has been introduced in yaim 3.0.1 and in yaim version 3.1 it became the only way to configure gLite middleware using yaim.
- changes in the yaim packaging. Yaim 3.1 has a modular structure (
glite-yaim-core
, glite-yaim-clients
) in contrary to the monolithic distribution of yaim 3.0.1 (glite-yaim package)
- added service and node based configuration
Please read the detailed documentation for
yaim 3.1.
Regarding WMS and LB configuration, when LB and WMS are installed on separate nodes, you should add a variable LB_HOST in your site-info.def, for example, like
LB_HOST=<LB_HOSTNAME>
or
LB_HOST="<LB1_HOSTNAME> <LB2_HOSTNAME> <...> <...>"
if you have multiple LBs (may change it to require only LB hostname). Here port for LB server is supposed to be 9000. If you use different port than 9000, please append the port after the hostname, like "LB1_HOSTNAME:port". Please configure your WMS and LB as follows
/opt/glite/yaim/bin/yaim -c -s <site-info.def> -n glite-WMS
/opt/glite/yaim/bin/yaim -c -s <site-info.def> -n glite-LB
Or combine them together with
/opt/glite/yaim/bin/yaim -c -s <site-info.def> -n glite-WMS -n glite-LB
If WMS and LB are on separate machines, please add the DN of WMS into /opt/glite/etc/LB-super-users on LB,
one DN per line
without any quotes, and restart LB server by "/opt/glite/etc/init.d/glite-lb-bkserverd restart".
One LB can serve multiple WMS nodes.
Changes
A summary of what has changed with respect to the current production release
WMS
- Several bugs fixed, among others:
- #11969, #14237, #22795, #23401, #23759, #23828, #23937 #24296, #24954
- #24957, #25003, #25125, #25275, #25610 #25653, #25677, #25680, #25767
- #26157, #26208, #26213 #26237, #26250, #26267, #26269, #26432, #26537
- #26586 #26586, #26654, #26705, #26737, #26737, #26857, #26857, #26913
- #26952, #26968, #26968, #27042, #27126, #27215 #27216, #27708, #27724
- #27856
- bottlenecks analyzed and fixed
- Improved job submission rate and service stability
- Experimental support for JobDir, a mailbox-based persistent communication mechanism between local processes.
- Deprecations:
- Partitionable/Checkpointable jobs are deprecated.
- NS server and client deprecated and removed from the distribution.
- This implies that the commands: glite-job-submit, glite-job-list-match, glite-job-output, glite-job-cancel and glite-job-get-chkpt are no more available (note that the wmproxy counterparts glite-wms-job-* can be used instead )
- Also the client APIs for JAva and c++ in the packages org.glite.wms-ui.api-cpp, org.glite.wms-ui.api-java and org.glite.wms-ui.wrap-java, which depended on NS have been deprecated (note that the wmproxy counterparts provided in the packages org.glite.wms.wmproxy-api-* can be used instead ).
- Support fort multi-protocol sandbox file transfer:
- WMS-server side:
- Bulk Matchmaking for job collections: single matchmaking for all similar job of a collection
- Asynchronous WMProxy Job Start operation: upon job submission context is returned to user as soon as the request has been accepted by the system. Time consuming operations are carried out behind the scene.
- Direct management of collections instead of relying on DAGMan.
- Support for Deadline jobs
- WMS-client side:
- Added logging-info /status new query options
- Added glite-wms-job-info command: allows getting job information available at the WMS (e.g. JDL, associated delegation Id, time to expiration of the associated delegated proxy etc).
- new query options added to glite-job-logging-info/glite-job-status commands
- Job Wrapper:
- VO hook (selection of the middleware version).
- customization points (for resource admins).
- OSB limit and truncation mechanism.
- allowing interoperability with OSG.
LB
- support for job collections
- follows WMS develoment
- collection itself is not traced once split up into jobs,
- collection state is computed from aggregate subjob state only
- transparent connection handling in LB library
- regardless of creating and destroying LB library context, connections to LB server and local logger are cached
- saves re-initializing SSL connections, improving performance considerably
- support for Job Provenance
- old, inactive jobs in LB should be purged to avoid ever-growing job database
- data on purged jobs can be stored in JP service which is optimized for long-term storage and historic queries
- performance and robustness improvements
- fixes of bugs (mostly race conditions and bottlenecks) found in testing under higher load imposed by gLite 3.1 WMS
Maintenance
JRA1/SA3 activity has now switched to the '3.1 WMS/LB for gLite 3.1'. Thus while security fixes will be provided where necessary, this release will not be actively maintained.
--
JoachimFlammer - 05 Nov 2007