Version 66 (modified by 10 years ago) ( diff ) | ,
---|
Installation du serveur web PSPA: pspa.lal.in2p3.fr
La machine hébergeant serveur PSPA se trouve pour des raisons de commodités, sur une machine administrée par stratus-lab avec le serveur de jobs jenkins, mais pourrait très bien se lancer de votre propre machine ou bien sur un autre serveur en salle machine.
Plusieurs étapes sont nécéssaires en fonction de ce que l'on veux faire :
- 1. [InitialisationServeurPSPA Création depuis zéro, installation des librairies nécéssaires]
- 2. [ServeurPSPAPreConfigure Utilisation d'une machine pré-configurée pour accueillir PSPA]
- 3. [RelancerServeurPSPA Relancer la machine hébergeant le serveur PSPA]
Dans le cas 1. il va falloir :
- Installer stratus-lab ci besoin (étape 1 ci dessous)
- Créer une nouvelle machine et y installer les packages nécessaires (étape 2 ci dessous)
- Sauver cette machine sur le marketplace de stratus-lab en vue d'avoir une machine pré-configurée pour PSPA (cas 2 ci-dessus)
Dans le cas 2. il va falloir :
- Installer stratus-lab ci besoin (étape 1 ci dessous)
- Créer et lancer la machine pré-configurée PSPA (voir cas 1)
- Configurer le serveur de jobs jenkins
1.Installer StratusLab
Tout est écrit ici (depuis le 8/7/14)
2.Créer une machine virtuelle pour héberger le serveur
Creation d'une image disque "PSPA" à partir d'une machine existante :
stratus-create-image --author-email=garnier@lal.in2p3.fr \ --author="Garnier Laurent" \ --comment="CentOS V6.5 / PSPA Wep App." \ --no-shutdown \ --image-version 1.0 \ --title="CentOS V6.5 / PSPA Wep App" \ KT8gOU8gve_k3UFL7p5Els57My2 ::::::::::::::::::::::::::::: :: Starting image creation :: ::::::::::::::::::::::::::::: :: Checking that base image exists :: Retrieving image manifest :: Starting base image [WARNING] Image availability check is disabled. ::::::::::::::::::::::::: :: Starting machine(s) :: ::::::::::::::::::::::::: :: Starting 1 machine :: Machine 1 (vm ID: 4908) Public ip: 134.158.75.200 :: Done! :: Waiting for machine to boot ............................ :: Waiting for machine network to start .... :: Check if we can connect to the machine :: Executing user prerecipe :: Installing user packages :: Executing user recipe :: Executing user scripts :::::::::::::::::::::::::::::::::::::::: :: Finished building image increment. :: :::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Please check garnier@lal.in2p3.fr for new image ID and instruction. :: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Machine ready for use Machine IP: 134.158.75.200 Remember to stop the machine when finished
Installation des paquets essentiels à PSPA
ssh -Y root@134.158.75.200 yum update yum yum update -y # Jenkins (from https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions) sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key yum install jenkins -y # Compiler and others yum install hg gcc-c++ boost-devel wt-devel make gcc-gfortran gdb subversion cmake \ xerces-c-devel Coin2 expat-devel doxygen pango-devel GraphicsMagick-devel openssl-devel fcgi-devel httpd \ qt qt-devel \ openmotif-devel libX11-devel xorg-x11-server-Xvfb xorg-x11-xauth libXxf86dga xorg-x11-server-Xorg xorg-x11-xinit xterm \ zlib hg daemonize # Wt (from ) rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm --import https://fedoraproject.org/static/0608B895.txt rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms yum update; yum upgrade -y # # Wt and Dependencies (source: http://redmine.webtoolkit.eu/boards/1/topics/6178) yum install wt wt-devel wt-dbo wt-dbo-postgres wt-examples \ GraphicsMagick GraphicsMagick-devel \ jasper-libs fcgi lcms-libs libICE libSM libwmf-lite urw-fonts # Haru : curl https://codeload.github.com/libharu/libharu/legacy.tar.gz/master -olibhpdf.tar.gz tar -xzf libhpdf.tar.gz mkdir libharu-libharu-build cd libharu-libharu-build/ cmake ../libharu-libharu-ec89be4/ make -j sudo make install # CMT curl http://www.cmtsite.net/v1r25/CMTv1r25Linux-i686.tar.gz -o CMTv1r25Linux-i686.tar.gz tar -xvf CMTv1r25Linux-i686.tar.gz rm CMTv1r25Linux-i686.tar.gz mv CMT/ /usr/local/. ln -sf v1r25/ /usr/local/CMT/current cd /usr/local/CMT/current/mgr/ ./INSTALL # Changement de cmake rm /usr/bin/cmake ln -sf /usr/bin/cmake28 /usr/bin/cmake # Installation de UAP cd /usr/local/ svn checkout svn://svn.code.sf.net/p/accelerator-ml/code/ accelerator-ml-code cd accelerator-ml-code/uap/trunk/ export UAP_FORTRAN_COMPILER=GFORTRAN gmake # Installation de Java (pour Jenkins) yum install java-1.6.0-openjdk # Lancement de jenkins sudo service jenkins start
3.Mise à disposition de cette machine dans la market place
stratus-shutdown-instance 4908
- Attendre le mail
- Récupérer le manifest attaché au mail
- Changer la date (<dcterms:valid>....</dcterms:valid>)
- stratus-sign-metadata
- uploder le manifest sur le market place : https://marketplace.stratuslab.eu/marketplace/upload
4.Lancement de la machine pré-configurée PSPA
Creation d'un disque pour les données:
stratus-create-volume --size=6 --tag="Serveur PSPA" DISK 088dd96c-d97a-4f39-9788-ee00572114dc
L'ID de la machine PSAP est "Fdku_AK8qDH73Y93vpn0jpZOzYf" (trouvée via https://marketplace.stratuslab.eu)
Lancer la machine avec ce disque persistant :
stratus-run-instance --type=c1.xlarge --persistent-disk=088dd96c-d97a-4f39-9788-ee00572114dc KgZJLfwFgRi0zHCi2DL5QJUqNSY ::::::::::::::::::::::::: :: Starting machine(s) :: ::::::::::::::::::::::::: :: Starting 1 machine :: Machine 1 (vm ID: 1486) Public ip: 134.158.75.148 :: Done!
Vérifier :
stratus-describe-instance id state vcpu memory cpu% host/ip name 1942 Running 4 2124480 3 vm-169.lal.stratuslab.eu one-1942
5.Configurer le serveur de jobs Jenkins
Copier l'ancienne config de Jenkins :
- sur l'ancienne config
tar -czvf jobs.tgz jobs scp jobs.tgz root@134.158.75.148:jobs.tgz
- Puis sur la machine virtuelle :
cd "jenkins_home"/jobs cd /var/lib/jenkins
Killer le serveur jenkins existant :
ps -ax | grep jenk kill …..
Le relancer :
service jenkins restart
Vérifier que tout est bon : http://134.158.75.148:8080
5.Vérifier serveur de jobs Jenkins et lancer la construction de PSPA
Sur le serveur Jenkins http://134.158.75.148:8080, vérifier et ci-besoin lancer les tous les jobs à la main
Lancement des pages Web (apache)
service httpd start
Les pages web se trouvent ici sur le serveur (stratus lab): /var/www/html/
Relancer la machine virtuelle
Si vous n'avez pas stratus-lab, l'installer stratusLab Refaire les 2 exports :
export PATH=$PATH:<install location>/bin export PYTHONPATH=$PYTHONPATH:<install location>/lib/stratuslab/python Dans mon cas : export PATH=$PATH:/Users/garnier/Work/stratuslab-cli-user-pkg-2/bin; export PYTHONPATH=$PYTHONPATH:/Users/garnier/Work/stratuslab-cli-user-pkg-2/lib/stratuslab/python
Tuer l'ancienne machine :
stratus-describe-instance id state vcpu memory cpu% host/ip name 1940 Failed 1 0 0 vm-166.lal.stratuslab.eu one-1940 1942 Unknown 4 2124480 3 vm-169.lal.stratuslab.eu one-1942 2118 Running 4 2124800 18 vm-148.lal.stratuslab.eu one-2118 stratus-kill-instance 2118
La relancer (l'adresse pspa.lal.in2p3.fr est mappée sur 134.158.75.148)
stratus-run-instance --type=c1.xlarge \ --persistent-disk=088dd96c-d97a-4f39-9788-ee00572114dc KgZJLfwFgRi0zHCi2DL5QJUqNSY \ --address 134.158.75.148
Se logger sur la machine, puis lancement des pages Web (apache)
ssh root@.... service httpd start
Relancer Jenkins
Après être logé et Jenkins relancé :
[root@onevm-108 ~]# service jenkins restart Shutting down Jenkins [ OK ] Starting Jenkins [ OK ]
Accédez à la page web de configuration de la sécurité de Jenkins : http://onevm-196.lal.in2p3.fr:8080/configureSecurity/
- Cocher dans un premier temps :
- "Activer la sécurité",
- "Tout le monde a accès à toutes les fonctionnalités",
- "Base de données des utilisateurs de Jenkins",
- "Se protéger contre les exploits de type Cross Site Request Forgery",
- "Default Crumb Issuer",
- "Activer la compatibilité proxy"
- Ajouter un nouvel utilisateur (vous)
- Re http://onevm-200.lal.in2p3.fr:8080/configureSecurity/, et cocher : "Les utilisateurs connectés peuvent tout faire"
- Ajouter des plugins :
- Post build task
- Mercurial plugin
Création du job Projet PSPA-Software =
Compilation des softwares
Le script lancé se trouve ici PSPA/Softwares/build-PSPA-Softwares.sh
Les fichiers de configuration pour ce job se trouvent ici PSPA/Softwares/config-PSPA-Softwares.xml
Pour remettre en place ce job :
- Créer un job du même nom sur Jenkins
- Se logger sur la machine du cloud
- Déposer ce fichier à cet emplacement /var/lib/jenkins/jobs/PSPA-Softwares/.
Création du job Projet PSPA_Develop =
Compilation et lancement du serveur web sur la branch "develop"
Le script lancé se trouve ici PSPA/PSPA/build-PSPA.sh
Les fichiers de configuration pour ce job se trouvent ici PSPA/PSPA/config-PSPA_Develop.xml
Pour remettre en place ce job :
- Créer un job du même nom sur Jenkins
- Se logger sur la machine du cloud
- Déposer ce fichier à cet emplacement /var/lib/jenkins/jobs/PSPA_Develop/.
Création du job PSPA-Check_Develop =
Test et lancement du serveur Web si il est planté
Le script lancé se trouve ici PSPA/PSPA/check-PSPA_Develop.sh
Les fichiers de configuration pour ce job se trouvent ici PSPA/PSPA/config-PSPA-Check_Develop.xml
Pour remettre en place ce job :
- Créer un job du même nom sur Jenkins
- Se logger sur la machine du cloud
- Déposer ce fichier à cet emplacement /var/lib/jenkins/jobs/PSPA_Develop/.