Index of /pdp/ndpf/files/packages/vocachedir

      Name                             Last modified      Size  
Parent Directory - README.txt 2009-02-16 23:00 2.8K vocachedir-init-0.1-1.noarch.rpm 2009-02-16 22:26 6.5K vocachedir-init-0.1-1.src.rpm 2009-02-16 22:26 31K vocachedir-init-0.1.src.tgz 2009-02-16 22:26 29K

The VO Cache Directory Profile Initialisation
---------------------------------------------

This script set, usable for the Bourne shell and, with also for the C-shell
if the Bourne shell is installed, will add the VO_xxx_CACHE_DIR environment
variable to the users' job environment if such a per-VO specific directory 
can be located in one of a few places.

By default, it will look for VO cache directories under:
  /var/cache/grid
  /tmp/gridcache

Purpose:
  Set the VO_xxx_CACHE_DIR variable when appropriate, based on a list of
  possible base directories for such a cache. The script will accept any
  incoming VONAME definition (such as set by the globus Job Manager patch)
  but failing that will try to determine the VO based on the VOMS proxy.

Installation:
  Put these script in the /etc/profile.d directory, and have them executed
  as early as possible. The default installation will ensure that by 
  prefixing the name with "AA". 

Configuration: will read /etc/sysconfig/vocachedir
  Set CACHEBASES to a list of directory paths to which the voname (in
  lower case) will be appended to name the actual cache directory. Its
  permissions MUST be at least 01755 (i.e. the directory MUST be sticky)
  and it MUST be owned by root

Note: the script will NOT do cleanup of this directory, use tmpwatch(8)
for that.

Semantics
---------
For the full semantics of the VO cache directory at Nikhef, please refer
to our Wiki pages at

  https://www.nikhef.nl/grid/gridwiki/index.php/VoCacheDir

In particular note the way you should write to the cache directory: since
multiple users may write there (it's only sticky but otherwise wide open)
you're vulnerable to all the default race conditions and exploits to which
mkstemp(3) provides the remedy. So, PLEASE USE mktemp(1) and friends to
create files in the VO_xxx_CACHE_DIR.



About the pbs.in patch
----------------------
The pbs.in patch, to be applied to the pbs.in setup file (which will later
generate the pbs.pm job manager script), will ensure that the VONAME
environment variable is set as soon as possible, even if on the worker node
there is no proxy or no voms-proxy-info command available. Especially
if you have 'non-griddy' worker nodes, this may come in handy. 
When $VONAME is already set, the vocachedir.sh script will NOT need 
the voms-proxy-info command. 

After applying this to a 3.1 lcg-CE, you need to regenerate the pbs.pm
file (using the globus setup tools) AND restart the globus-job-manager-marshal
process (service globus-job-manager-marshal restart).


Dependencies
------------
Basically, only /bin/sh is needed (or /bin/csh for the csh variety). Only
if the VONAME environment variable is not yet set will voms-proxy-info be
needed on the worker node. 
This has not been put in as a dependency of the RPM, since the script will
degrade gracefully (to the NULL operation) if this command is missing.