Modifié par Cogneras, le 23 Feb 2011

ATLAS: Installation CONDOR-Panda sur les VOBOXes (17/3/2011)


 1   Documentation
 2   Ouverture des ports
 3   Apache/HTTPD
    3.1   Installation
    3.2   Configuration
    3.3   Démarrage automatique de Apache
    3.4   Start/Stop pour httpd/Apache
 4   CONDOR
    4.1   Installation Condor 7.5.4 (20/1/2011)
         4.1.1   Installation
         4.1.2   Configuration
         4.1.3   test de condor
 5   Installation MySQL client
 6   Installation de PANDA [obsolète au 9/2010]
 7   Installation d'outils de surveillance
    7.1   Cron de Condor
    7.2   Cron pour les comptes locaux atlassgm, atlasana, atlasfr
 8   Installation de AUTOPYFACTORY

1. Documentation

L'installation de CondorG est résumée dans le twiki de Atlas.Condor peut être téléchargé sur le site de Condor

2. Ouverture des ports

ccpn-core.199:access-list 199 permit tcp 128.142.0.0 0.0.255.255 host
134.158.108.112 eq 1975
ccpn-core.199:access-list 199 permit tcp 134.158.0.0 0.0.255.255 host
134.158.108.112 eq 1975
ccpn-core.199:access-list 199 permit tcp 137.138.0.0 0.0.255.255 host
134.158.108.112 eq 1975
ccpn-core.199:access-list 199 permit tcp any host 134.158.108.112 eq 43210 <--
Apache
ccpn-core.199:access-list 199 permit tcp any host 134.158.108.112 range 30000
35000 <-- pour CondorG
access-list 199 permit tcp any host 134.158.108.112 eq 443 <-- https

3. Apache/HTTPD

Se connecter en root sur cclcgatlas03 (par exemple qui est une machine sl5), vérifier qu'une version compatible de httpd existe (yum list httpd) et l'installer:

3.1. Installation

[root@cclcgatlas03 ~]# yum list httpd
Loaded plugins: downloadonly, kernel-module
Available Packages
httpd.x86_64                                                                    
                2.2.3-31.sl5.2                                                  
              
[root@cclcgatlas03 ~]# yum install httpd
Loaded plugins: downloadonly, kernel-module
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.3-31.sl5.2 set to be updated
.
.
.
Installed:
  httpd.x86_64 0:2.2.3-31.sl5.2                                                 
                                                                                
                                       
Complete!

3.2. Configuration

Changer le fichier de configuration /etc/httpd/conf/httpd.conf.
la différence entre l'original et le modifié est ci dessous:
< Listen 80                     ---> Listen 0.0.0.0:43210
< ServerAdmin root@localhost    ---> ServerAdmin cc-atlas@cc.in2p3.fr
les 2 changements ci dessous ne sont plus à faire (14/4/2010)
< DocumentRoot "/var/www/html"  ---> DocumentRoot "/vo/atlas/apache/htdocs"
<Directory "/var/www/html">     ---> <Directory "/vo/atlas/apache/htdocs">
#
#Controls who can get stuff from this server
#
<     Allow from all           --->     Deny from all
In fact I am not sure the latter is important. the most important is that all the directories /var/www/html/autopilot have the x right at each level.

3.3. Démarrage automatique de Apache

[root@cclcgatlas03 conf]# chkconfig --list httpd
httpd           0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@cclcgatlas03 conf]# chkconfig httpd on
[root@cclcgatlas03 conf]# chkconfig --list httpd
httpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off

3.4. Start/Stop pour httpd/Apache

[root@cclcgatlas03 ~]# service httpd start/stop/restart
  • J'ai eu un petit problème en utilisant /etc/init.d/httpd start qui était lié au changement de $LD_LIBRARY_PATH. En faisant unset de LD_LIBRARY_PATH, la commande remarche.
  • 4. CONDOR

    Aller sur la page des downloads de Condor
  • choisir sa version (la derniere stable version)
  • la version qui correspond à la machine: pour cclcgatlas03 : la version RHEL5 x86/64
  • Il faut s'enregistrer pour pouvoir avoir le download
  • créer le répertoire condor-install sous /vo/atlas/
  • Quand le fichier downloadable apparait, copier le link et faire:
  • [root@cclcgatlas03 condor-install]# wget
    http://parrot.cs.wisc.edu//symlink/20100224021503/7/7.4/7.4.1/e5f6db3370ff4f3cd3
    1f158551a98287/condor-7.4.1-linux-x86_64-rhel5-dynamic-1.x86_64.rpm
    --2010-02-24 12:32:35--  
    .
    .
    .
    2010-02-24 12:33:23 (3.57 MB/s) -
    `condor-7.4.1-linux-x86_64-rhel5-dynamic-1.x86_64.rpm' saved
    [176341547/176341547]
    
    [root@cclcgatlas03 condor-install]# rpm -i
    condor-7.4.1-linux-x86_64-rhel5-dynamic-1.x86_64.rpm
    --prefix=/vo/atlas/opt/condor-7.4.1
    Condor has been installed into:
        /vo/atlas/opt/condor-7.4.1
    
    Configured condor using these configuration files:
      global: /vo/atlas/opt/condor-7.4.1/etc/condor_config
      local:  /vo/atlas/opt/condor-7.4.1/local.cclcgatlas03/condor_config.local
    .
    .
    .
    [root@cclcgatlas03 condor-install]# ln -s /vo/atlas/opt/condor-7.4.1
    /vo/atlas/opt/condor
    root@cclcgatlas03 condor-install]# mkdir -p /vo/atlas/opt/condor_var/log
    /vo/atlas/opt/condor_var/spool
    
  • Copier le fichier init.d du twiki de atlas ou depuis le repertoire /etc/init.d/condor d'une précedente vobox. Cette dernière solution est meilleure car les chagements dans les noms des repertoires sont déjà faits. Mettre le fichier sous le repertoire /etc/init.d. faire un chmod:
    chmod +x /etc/init.d/condor
    Les changements dans le fichiers sont résumés ci dessous:
    GRDIR=/vo/atlas
    export CONDOR_CONFIG=${GRDIR}/opt/condor/etc/condor_config
    export PATH=$PATH:${GRDIR}/opt/condor/bin:${GRDIR}/opt/condor/sbin
              daemon ${GRDIR}/opt/condor/sbin/condor_master
    
  • Copier de même le fichier profile.d depuis /etc/profile.d/condor.sh.
  • Editer le fichier de configuration: /vo/atlas/opt/condor/etc/condor_config/LI>
  • Méthode la plus simple: faire les modifications nécessaires après avoir copié le fichier d'une autre vobox et avoir fait le diff. Ne pas surécrire le fichier par celui de l'autre vobox parce qu'il y a souvent beaucoup de changements entre les différents upgrades des versions de Condor.
  • Creer les liens entre /vo/atlas/opt et /opt/
  • [root@cclcgatlas03 ~]# ln -s /vo/atlas/opt/condor_var /opt/condor_var
    [root@cclcgatlas03 ~]# ln -s /vo/atlas/opt/condor /opt/condor
    
    
  • Miscellaneous Condor: changer le group du repertoire /var/www/html
  • [root@cclcgatlas03 www]# chgrp atlas html
    
  • Activer le redémarrage du service après un reboot:
  • [root@cclcgatlas03 ~]# chkconfig --add condor
    
  • Démarrer le service en faisant:
  • [root@cclcgatlas03 ~]# chkconfig condor on
    [root@cclcgatlas03 ~]# /etc/init.d/condor start
    
    Les logs de condor se trouvent dans
    /vo/atlas/opt/condor/local.cclcgatlas02/spool
    

    4.1. Installation Condor 7.5.4 (20/1/2011)

    4.1.1. Installation

  • Dans cette version, il est conseillé d'utiliser le download de la tar file. J'ai suivi l'installation qui se trouve dans la page condor réservée à v7.5. Fait dans /vo/atlas/opt
  • [root@cclcgatlas02 opt]# wget
    http://parrot.cs.wisc.edu//symlink/20110120041505/7/7.5/7.5.4/6b186d865178284448
    938d63a525aa4a/condor-7.5.4-linux-x86_64-rhel5-dynamic.tar.gz
    
    Je vérifie les répertoires qui vont être créés. Le but est de tout mettre sous un repertoire commun condor-7.5.4 de façon à pouvir passer d'une version à l'autre en changeant simplement un lien.
    root@cclcgatlas02 opt]# tar -tzvf
    condor-7.5.4-linux-x86_64-rhel5-dynamic.tar.gz
    
    Je decompresse le package
    [root@cclcgatlas02 opt]# tar xzf
    condor-7.5.4-linux-x86_64-rhel5-dynamic.tar.gz
    
    Je fais l'install. Pour les prochaines installs, il faudrait savoir quoi mettre pour les paramètres du typr --local-dir pu --type. Je les ignore pour l'instant. Par contre le --owner est indispensable.
    [root@cclcgatlas02 condor-7.5.4]# ./condor_install
    --prefix=/vo/atlas/opt/condor-7.5.4 --owner atlassgm
    
    Le résultat de cette installation:
    Condor has been installed into:
        /vo/atlas/opt/condor-7.5.4
    
    Configured condor using these configuration files:
      global: /vo/atlas/opt/condor-7.5.4/etc/condor_config
      local:  /vo/atlas/opt/condor-7.5.4/local.cclcgatlas02/condor_config.local
    
    In order for Condor to work properly you must set your CONDOR_CONFIG
    environment variable to point to your Condor configuration file:
    /vo/atlas/opt/condor-7.5.4/etc/condor_config before running Condor
    commands/daemons.
    Created scripts which can be sourced by users to setup their
    Condor environment variables.  These are:
       sh: /vo/atlas/opt/condor-7.5.4/condor.sh
      csh: /vo/atlas/opt/condor-7.5.4/condor.csh
    

    4.1.2. Configuration

    4.1.3. test de condor

    5. Installation MySQL client

    le client est déjà installé. On le vérifie en faisant:
    root@cclcgatlas03 ~]# rpm -q mysql
    mysql-5.0.77-4.el5_4.1.x86_64
    mysql-5.0.77-4.el5_4.1.i386
    
    
    
    
    
    

    6. Installation de PANDA [obsolète au 9/2010]

  • documentation (obsolète) dans: /afs/in2p3.fr/throng/atlas/cc-support/doc/ATLAS-InstallationVOBoxcclcgatlas04.doc
  • Procédure (fevrier 2010):
  • 7. Installation d'outils de surveillance

    Des CRONS ont été développés pour permettre de monitorer l'état de certains processes et déeventuellement les redémarrer.

    7.1. Cron de Condor

    Un script de vérification, arrêt et redémarrage du process a été mis en place. Le script se trouve dans:
    /afs/in2p3.fr/throng/atlas/cc-support/MonitorScripts/condorRestart.sh
    
    Il suffit alors de mettre dans /etc/cron.d un fichier root_weekly_condorRestart qui contient:
    #author: xxxx
    MAILTO=xxxx
    30 15 * * 2 root
    /afs/in2p3.fr/throng/atlas/cc-support/MonitorScripts/condorRestart.sh >>
    /scratch/condorlogs/condorRestart.log
    
    Ce CRON s'exécute tous les mardis à 15:30.

    7.2. Cron pour les comptes locaux atlassgm, atlasana, atlasfr

    Les fichiers se trouvent dans /var/spool/cron pour chaque utilisateur "allowed".
    Pour mettre un cron, on peut créer le fichier (proxy-cron ci dessous) qui contient les lignes décrites ci dessus . Ensuite:
    crontab  proxy-cron
    ou si on le fait de root
    crontab -u atlasfr proxy-cron
    pour que le cron appartienne à atlasfr
    

    8. Installation de AUTOPYFACTORY

    La description de l'installation se trouve ici.Condor peut être téléchargé sur le site de Condor
    rootacc
    bash 
    lcg_env (pour récupérer le PYTHONPATH)
    
    J'installe la "userinterface"
    mkdir /vo/atlas/panda
    rm -r userinterface (s'il existe déjà)
    rm -r factory (s'il existe déjà)
    svn co
    http://svnweb.cern.ch/guest/panda/panda-server/current/pandaserver/userinterface
    
    export PYTHONPATH=/vo/atlas/panda:$PYTHONPATH
    
    L'application a besoin de simplejson si le python utilisé est <2.6
    yum search simplejson (s'il n'est pas trouvé il faut aller le chercher et le
    mettre dans le repository)
    python-simplejson.x86_64 : Simple, fast, extensible JSON encoder/decoder for
    Python
    yum install python-simplejson.x86_64  [ JE NE SAIS PAS SI JE DOIS LE METTRE
    EXPLICITEMENT DANS LE PYTHONPATH]
    rpm -ql python-simplejson me montre que simplejson est installé dans:
    /usr/lib64/python2.4/site-packages/simplejson
    
    Je loade le tar de la autopyfactory. Je prend le tar plutôt que le rpm pour pouvoir le mettre sous /vo/atlas/panda
    cd /vo/atlas/panda
    wget
    http://svr017.gla.scotgrid.ac.uk/factory/release/apf/1.0.2-time-out-of-joint/pan
    da-autopyfactory-1.0.2.tar.gz
    tar xzvf panda-autopyfactory-1.0.2.tar.gz   (créé automatiquement un repertoire
    panda-autopyfactory-1.0.2
    
    Copier les factories (factory_prod et factory_ana) qui sont dans cclcgatlas03 (/vo/atlas/panda/factory/pyfactory-Tyger) et modifier:
  • <changer toutes les références à cclcgatlas03 ==> cclcgatlas02 dans les fichiers/LI>
  • mettre lle path complet devant le fichier runpilot3-wrapper.sh. Dans cette version il s'agit de
    /vo/atlas/panda/panda-autopyfactory-1.0.2/libexec/
  • cd /vo/atlas/panda/panda-autopyfactory-1.0.2/autopyfactory      Attention je
    n'ai pas suivi la doc de Graeme de le mettre dans autopyfactory-1.0.2/etc car
    cela ne marche pas)          
    cp ~/public/factory_analysis.conf .  (je les ai mises d'abord dans mon public)
    cp ~/public/factory_prod.conf .
    
    Je donne les répertoires au user atlassgm, group atlas
    cd /vo/atlas
    chown  -hR atlassgm:atlas panda-autopyfactory-1.0.2
    chown  -hR atlassgm:atlas /var/www
    
    je fais des liens logiques:
    ln -s /vo/atlas/panda/panda-autopyfactory-1.0.2 /vo/atlas/opt/panda
    ln -s /vo/atlas/panda/panda-autopyfactory-1.0.2 /opt/panda
    ln -s /vo/atlas/panda/panda-autopyfactory-1.0.2/autopyfactory/
    /vo/atlas/panda/current
    
    ATTENTION:je remplace le .bashrc de la cclcgatlas02 par celui de la cclcgatlas03. (je change tous les "cclcgatlas03" en "cclcgatlas02") et j'y rajoute:
    export
    PYTHONPATH=/vo/atlas/panda:/vo/atlas/panda/panda-autopyfactory-1.0.2:$PYTHONPATH
    
    
    20-Octobre-2010: Changé le fichier runpilot3 qui est dans /vo/atlas/panda/panda-autopyfactory-1.0.2/libexec par la nouveau module patché:
    REMARQUE: pas besoin d'être ROOT. on peut le faire en tant que atlassgm.
    atlassgm@cclcgatlas02//vo/atlas/panda/panda-autopyfactory-1.0.2/libexec$ wget
    https://svnweb.cern.ch/trac/panda/browser/panda-autopyfactory/tag/1.0.2-time-out
    -of-joint/libexec/runpilot3-wrapper.sh?format=txt