DPM Space Tokens

From GridPP Wiki
Jump to: navigation, search

Defining the Token

Defining a space token in DPM is very easy. As documented in the Admin Guide the command is:

 # dpm-reservespace --gspace 10T --lifetime Inf --group atlas/Role=production --token_desc ATLASDATADISK

Publishing Your Tokens

There is a GIP provider which can publish information about tokens correctly in the BDII. This is documented in the LCG Twiki. I have added notes about some extra work arounds I needed to put in place when using SL3 and a YAIM configured cluster.

Group Writable Areas

The default for srmMkdir is to create directories in mode 0755, which means they are not group writable. This can cause problems for VOs who require SRMv2 areas writable by group, e.g. ATLAS production space tokens (ATLASDATADISK, ATLASMCDISK).

If this is the case then you can set an ACL on the directory area where the VO will write [1]. In the case of ATLAS the way to do this is:

  • Create the space reservation, as above.
  • Make the base path into which files in this space will live - this is your usual VO path for atlas with the name of the space token appended in lower case:
 # dpns-mkdir /dpm/gla.scotgrid.ac.uk/home/atlas/atlasdatadisk
  • Chown this directory to the correct group with mode 0775:
 # dpns-chgrp atlas/Role=production /dpm/gla.scotgrid.ac.uk/home/atlas/atlasdatadisk
 # dpns-chmod 775 /dpm/gla.scotgrid.ac.uk/home/atlas/atlasdatadisk
  • Add ACLs to this directory, to ensure that it, and all sub-directories are writable by the correct group:
 # dpns-setacl -m d:g:atlas/Role=production:7,m:7 /dpm/gla.scotgrid.ac.uk/home/atlas/atlasdatadisk
 # dpns-setacl -m g:atlas/Role=production:7,m:7 /dpm/gla.scotgrid.ac.uk/home/atlas/atlasdatadisk

This will ensure that all files and subdirectories are read/write for the group (i.e. VOMS role).

[1] Of course a space token is completely othogonal to an area in the namespace, however, VOs own data management systems may define a directory into which files in a particular space token will write.