How will experiment software be installed and tested on LCG-2 sites?

It is recognised that
  • The release cycle for experiment software may be far too rapid to require a separate release of LCG-2 tagged software for each development of experiment code
  • Individual site managers are unlikely to have a high level of expertise in all the experiment software that is likely to be installed on grid sites
A different software installation method has been developed for this. Each VO has designated Experiment Software Managers that are responsible for deploying and maintaining the software at individual sites. All the sys admin must do is provide a suitably mounted disk space and set appropriate environment variables. The methodology is described here or in PDF format. A detailed recipe for the sys admin requirements is below.

The easiest solution for this is to define an area on the SE say

/experiment-software/alice
/experiment-software/atlas
...

that is automounted on the WNs.

Users locate this area since
VO_ATLAS_SW_DIR=/experiment-software/atlas
is defined in the the jobs profile.

This is how to do it with LCFG. If you are doing it by hand that is just an excercise for the reader.

  1. In you site-cfg.h you should have the following.
     #define EXPERIMENT   /experiment-software
     #define WN_AREA_ALICE   EXPERIMENT/alice
     #define WN_AREA_ATLAS   EXPERIMENT/atlas
     #define WN_AREA_CMS     EXPERIMENT/cms
     #define WN_AREA_LHCB    EXPERIMENT/lhcb
     #define WN_AREA_DTEAM   EXPERIMENT/dteam
    

    The first line is an extra value to add.

  2. On the SE you must now create these directories. You do that by adding the following to its profile.
        #ifdef SE_VO_ALICE
        EXTRA(dirperm.ents)      alicesw
        dirperm.path_alicesw     EXPERIMENT/alice
        dirperm.owner_alicesw    alicesgm:alice
        dirperm.type_alicesw     d
        #endif
    
        #ifdef SE_VO_ATLAS
        EXTRA(dirperm.ents)      atlassw
        dirperm.path_atlassw     EXPERIMENT/atlas
        dirperm.owner_atlassw    atlassgm:atlas
        dirperm.type_atlassw     d
        #endif
    
        #ifdef SE_VO_CMS
        EXTRA(dirperm.ents)      cmssw
        dirperm.path_cmssw       EXPERIMENT/cms
        dirperm.owner_cmssw      cmssgm:cms
        dirperm.type_cmssw       d
        #endif
    
        #ifdef SE_VO_LHCB
        EXTRA(dirperm.ents)      lhcbsw
        dirperm.path_lhcbsw      EXPERIMENT/lhcb
        dirperm.owner_lhcbsw     lhcbsgm:lhcb
        dirperm.type_lhcbsw      d
        #endif
    
        #ifdef SE_VO_DTEAM
        EXTRA(dirperm.ents)       dteamsw
        dirperm.path_dteamsw      EXPERIMENT/dteam
        dirperm.owner_dteamsw     dteamsgm:dteam
        dirperm.type_dteamsw      d
        #endif
    
  3. Now you must nfs export this area by again adding your SE's profile

        EXTRA(profile.components)        nfs
        profile.version_nfs              1
        boot.level_nfs                   2
        EXTRA(boot.services)             nfs
        client.reconfig_nfs              start
    
        /* Export the File System */
        EXTRA(nfs.exports)        experiment
        nfs.fs_experiment         EXPERIMENT
        nfs.options_experiment    SITE_NFS_ACL_FROM_SE
    
    Reboot the SE after recompiling the profiles.

  4. We now want to automount this onto each of the WNs by adding the following their your profiles, putting this in a common file and including it of course makes sense.

        EXTRA(profile.components)       autofs
        profile.version_autofs          1
        EXTRA(boot.services)             autofs
        boot.level_autofs               2
        client.reconfig_autofs          start
    
        EXTRA(dirperm.ents)      experiment
        dirperm.path_experiment  EXPERIMENT
        dirperm.owner_experiment root:root
        dirperm.type_experiment  d
    
        EXTRA(autofs.maps)        experiment
        autofs.path_experiment    EXPERIMENT
    
        #ifdef SE_VO_ALICE
        EXTRA(autofs.map_experiment) alice
        autofs.path_experiment_alice SE_HOSTNAME:EXPERIMENT/alice
        autofs.key_experiment_alice  alice
        autofs.options_experiment_alice -rw,intr,noquota,nosuid,noatime,hard
        #endif
    
        #ifdef SE_VO_ATLAS
        EXTRA(autofs.map_experiment) atlas
        autofs.path_experiment_atlas SE_HOSTNAME:EXPERIMENT/atlas
        autofs.key_experiment_atlas  atlas
        autofs.options_experiment_atlas -rw,intr,noquota,nosuid,noatime,hard
        #endif
    
        #ifdef SE_VO_CMS
        EXTRA(autofs.map_experiment) cms
        autofs.path_experiment_cms SE_HOSTNAME:EXPERIMENT/cms
        autofs.key_experiment_cms  cms
        autofs.options_experiment_cms -rw,intr,noquota,nosuid,noatime,hard
        #endif
    
        #ifdef SE_VO_LHCB
        EXTRA(autofs.map_experiment) lhcb
        autofs.path_experiment_lhcb SE_HOSTNAME:EXPERIMENT/lhcb
        autofs.key_experiment_lhcb  lhcb
        autofs.options_experiment_lhcb -rw,intr,noquota,nosuid,noatime,hard
        #endif
    
        #ifdef SE_VO_DTEAM
        EXTRA(autofs.map_experiment) dteam
        autofs.path_experiment_dteam SE_HOSTNAME:EXPERIMENT/dteam
        autofs.key_experiment_dteam  dteam
        autofs.options_experiment_dteam -rw,intr,noquota,nosuid,noatime,hard
        #endif
    
  5. Unfortuantly LCG in their wisdom decided to remove the autofs lcfg object from WNs. So you must add edg-lcfg-autofs-1.0.3-edg1 to the rpm list for WNs.

    There are two steps in this process:

    1. Download and install edg-lcfg-autofs-defaults-s1-1.0.3-edg1.noarch.rpm on your LCFGng server, with rpm -ihv edg-lcfg-autofs-defaults-s1-1.0.3-edg1.noarch.rpm.
    2. Download edg-lcfg-autofs-1.0.3-edg1 then:
      • Move it to /opt/local/linux/7.3/RPMS/LCFGng
      • cd to /opt/local/linux/7.3/RPMS/LCFGng and execute gmake.
      • Follow the instructions here for adding the edg-lcfg-autofs to the RPM list for your Worker Nodes.

  6. Recompile the profiles for the WNs and reboot them.
  7. Afterwards on a WN check you can
    cd /experiment-software/atlas

    for example.

    If all is well the area will be automounted.

LCG FAQS


Last modified Mon 23 August 2004 . View page history
Switch to HTTPS . Website Help . Print View . Built with GridSite 1.4.3
For more about GridPP please contact Neasan O'Neill