Modifié par Cogneras, le 23 Feb 2011
ATLAS: Installation CONDOR-Panda sur les VOBOXes (17/3/2011)
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 Condor2. 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 Condorchoisir sa version (la derniere stable version)la version qui correspond à la machine: pour cclcgatlas03 : la version RHEL5 x86/64Il faut s'enregistrer pour pouvoir avoir le downloadcré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
Je modifie /vo/atlas/opt/condor/etc/condor_config et /vo/atlas/opt/condor/local.cclcgatlas02/condor_config.local
en faisant la différence entre ces fichiers et les fichiers des installations précédentes.
EN plus: je décommente la variable PREEN_ADMIN dans condor_config pour que les messages de PREEN arrivent à CONDOR_ADMIN au lieu d'arriver aux sysunix.
Faut-il rajouter condor.sh dans le .bashrc?
Je change le propriétaire du condor_config.local
chown atlassgm:atlas
/vo/atlas/opt/condor/local.cclcgatlas02/condor_config.local
Une fois l'installation terminée, on arrête le condor qui tourne et on bascule le lien vers le nouveau condor et on le redémarre
[root@cclcgatlas03 ~]# /etc/init.d/condor stop
Repositionner le lien symbolique sur la nouvelle version
[root@cclcgatlas02 opt]# rm condor
[root@cclcgatlas02 opt]# ln -s /vo/atlas/opt/condor-7.5.4 /vo/atlas/opt/condor
[root@cclcgatlas03 ~]# /etc/init.d/condor start
4.1.3. test de condor
J'ai créé un repertoire /tmp/testGR
J'y ai mis un jdl: test.jdl inspiré des submitMe.jdl des queues de l'autopyfactory.
condor_submit test.jdl
je le vois apparaitre dans le condor_q
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.docProcédure (fevrier 2010):- installer factory dans /vo/atlas/panda/factory/pyfactory-Tyger :
http://svr017.gla.scotgrid.ac.uk/factory/release/pyfactory-tyger-tyger.tgz
faire in lien de factory/current sur le directory ci-dessusln -s pyfactory-Tyger/ current
copier le fichier de configuration de factory : factory_prod.conf dans factory/currentintaller panda client dans /panda:svn co
http://www.usatlas.bnl.gov/svn/panda/panda-server/current/pandaserver/userinterf
ace/
définir ROOTDIR:ROOTDIR=/vo/atlas/panda
copier panda_setup.sh et faire:$ROOTDIR/panda_setup.sh
definir le path python pour trouver le client panda:PYTHONPATH=$ROOTDIR:$PYTHONPATH
dans factory/current, verifier le setup :/factory.py --verbose --test --oneshot --conf=factory_prod.conf
>si tout est bon envoyer une bordee de jobs pour verifier la chaine et la connexion avec les CEs:</LI/factory.py --verbose --oneshot --conf=factory_prod.conf
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 Condorrootacc
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.6yum 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/pandacd /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