Changes between Version 67 and Version 68 of Tests


Ignore:
Timestamp:
Apr 13, 2015, 11:23:39 AM (10 years ago)
Author:
/C=FR/O=CNRS/OU=UMR8607/CN=Laurent Garnier/emailAddress=garnier@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Tests

    v67 v68  
    88 * 3. [wiki:RelancerServeurPSPA Relancer la machine hébergeant le serveur PSPA]
    99
    10 Dans le cas 1. il va falloir :
    11 
    12  * Installer stratus-lab ci besoin (étape 1 ci dessous)
    13  * Créer une nouvelle machine et y installer les packages nécessaires (étape 2 ci dessous)
    14  * Sauver cette machine sur le marketplace de stratus-lab en vue d'avoir une machine pré-configurée pour PSPA (cas 2 ci-dessus)
    15 
    16 Dans le cas 2. il va falloir :
    17 
    18  * Installer stratus-lab ci besoin (étape 1 ci dessous)
    19  * Créer et lancer la machine pré-configurée PSPA (voir cas 1)
    20  * Configurer le serveur de jobs '''jenkins'''
    21 
    22 == 1.Installer StratusLab ==
    23 Tout est écrit [http://stratuslab.readthedocs.org/en/latest/admin-tutorial/index.html ici] (''depuis le 8/7/14'')
    24 
    25 == 2.Créer une machine virtuelle pour héberger le serveur ==
    26 Creation d'une image disque "PSPA" à partir d'une machine existante :
    27 
    28 {{{
    29 stratus-create-image --author-email=garnier@lal.in2p3.fr \
    30                                  --author="Garnier Laurent" \
    31                                  --comment="CentOS V6.5 / PSPA Wep App." \
    32                                  --no-shutdown  \
    33                                  --image-version 1.0 \
    34                                  --title="CentOS V6.5 / PSPA Wep App"  \
    35                                 KT8gOU8gve_k3UFL7p5Els57My2
    36 
    37 
    38  :::::::::::::::::::::::::::::
    39  :: Starting image creation ::
    40  :::::::::::::::::::::::::::::
    41  :: Checking that base image exists
    42  :: Retrieving image manifest
    43  :: Starting base image
    44   [WARNING] Image availability check is disabled.
    45 
    46  :::::::::::::::::::::::::
    47  :: Starting machine(s) ::
    48  :::::::::::::::::::::::::
    49  :: Starting 1 machine
    50  :: Machine 1 (vm ID: 4908)
    51         Public ip: 134.158.75.200
    52  :: Done!
    53  :: Waiting for machine to boot
    54 ............................
    55  :: Waiting for machine network to start
    56 ....
    57  :: Check if we can connect to the machine
    58  :: Executing user prerecipe
    59  :: Installing user packages
    60  :: Executing user recipe
    61  :: Executing user scripts
    62 
    63  ::::::::::::::::::::::::::::::::::::::::
    64  :: Finished building image increment. ::
    65  ::::::::::::::::::::::::::::::::::::::::
    66 
    67  :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    68  :: Please check garnier@lal.in2p3.fr for new image ID and instruction. ::
    69  :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    70  :: Machine ready for use
    71 
    72         Machine IP: 134.158.75.200      Remember to stop the machine when finished
    73 }}}
    74 Installation des paquets essentiels à PSPA
    75 
    76 {{{
    77 ssh -Y root@134.158.75.200
    78 yum update yum
    79 yum update -y
    80 
    81 # Jenkins (from https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions)
    82 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
    83 sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
    84 yum install jenkins -y
    85 
    86 # Compiler and others
    87 yum install hg gcc-c++ boost-devel wt-devel make gcc-gfortran gdb subversion cmake \
    88                  xerces-c-devel Coin2 expat-devel  doxygen pango-devel GraphicsMagick-devel openssl-devel fcgi-devel httpd \
    89                  qt qt-devel \
    90                  openmotif-devel libX11-devel xorg-x11-server-Xvfb xorg-x11-xauth libXxf86dga xorg-x11-server-Xorg xorg-x11-xinit xterm \
    91                  zlib hg  daemonize
    92 
    93 # Wt (from )
    94 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    95 rpm --import https://fedoraproject.org/static/0608B895.txt
    96 rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms
    97 yum update; yum upgrade -y
    98 #
    99 # Wt and Dependencies (source: http://redmine.webtoolkit.eu/boards/1/topics/6178)
    100 yum install wt wt-devel wt-dbo wt-dbo-postgres wt-examples \
    101                  GraphicsMagick GraphicsMagick-devel \
    102                  jasper-libs fcgi lcms-libs libICE libSM libwmf-lite urw-fonts
    103 
    104 # Haru :
    105 curl https://codeload.github.com/libharu/libharu/legacy.tar.gz/master -olibhpdf.tar.gz
    106 tar -xzf libhpdf.tar.gz
    107 mkdir libharu-libharu-build
    108 cd libharu-libharu-build/
    109 cmake ../libharu-libharu-ec89be4/
    110 make -j
    111 sudo make install
    112 
    113 # CMT
    114  curl http://www.cmtsite.net/v1r25/CMTv1r25Linux-i686.tar.gz -o CMTv1r25Linux-i686.tar.gz
    115 tar -xvf CMTv1r25Linux-i686.tar.gz
    116 rm CMTv1r25Linux-i686.tar.gz
    117 mv CMT/ /usr/local/.
    118 ln -sf v1r25/ /usr/local/CMT/current
    119 cd /usr/local/CMT/current/mgr/
    120 ./INSTALL
    121 
    122 # Changement de cmake
    123 rm /usr/bin/cmake
    124 ln -sf /usr/bin/cmake28 /usr/bin/cmake
    125 
    126 # Installation de UAP
    127 cd /usr/local/
    128 svn checkout svn://svn.code.sf.net/p/accelerator-ml/code/ accelerator-ml-code
    129 cd accelerator-ml-code/uap/trunk/
    130 export UAP_FORTRAN_COMPILER=GFORTRAN
    131 gmake
    132 
    133 # Installation de Java (pour Jenkins)
    134 yum install java-1.6.0-openjdk
    135 
    136 # Lancement de jenkins
    137 sudo service jenkins start
    138 }}}
    139 == 3.Mise à disposition de cette machine dans la market place ==
    140 {{{
    141 stratus-shutdown-instance 4908
    142 }}}
    143  * Attendre le mail
    144  * Récupérer le manifest attaché au mail
    145  * Changer la date (<dcterms:valid>....</dcterms:valid>)
    146  * stratus-sign-metadata
    147  * uploder le manifest sur le market place : https://marketplace.stratuslab.eu/marketplace/upload
    148 
    149 == 4.Lancement de la machine pré-configurée PSPA ==
    150 Creation d'un disque pour les données:
    151 
    152 {{{
    153 #!sh
    154  stratus-create-volume --size=6 --tag="Serveur PSPA"
    155   DISK 088dd96c-d97a-4f39-9788-ee00572114dc
    156 }}}
    157 L'ID de la machine PSAP est "Fdku_AK8qDH73Y93vpn0jpZOzYf" (trouvée via https://marketplace.stratuslab.eu)
    158 
    159 Lancer la machine avec ce disque persistant :
    160 
    161 {{{
    162 #!sh
    163  stratus-run-instance  --type=c1.xlarge --persistent-disk=088dd96c-d97a-4f39-9788-ee00572114dc KgZJLfwFgRi0zHCi2DL5QJUqNSY
    164 
    165  :::::::::::::::::::::::::
    166  :: Starting machine(s) ::
    167  :::::::::::::::::::::::::
    168  :: Starting 1 machine
    169  :: Machine 1 (vm ID: 1486)
    170         Public ip: 134.158.75.148
    171  :: Done!
    172 }}}
    173 Vérifier :
    174 
    175 {{{
    176 stratus-describe-instance                                                           
    177 id   state     vcpu memory    cpu% host/ip                  name
    178 1942 Running   4    2124480   3    vm-169.lal.stratuslab.eu one-1942
    179 }}}
    180 == 5.Configurer le serveur de jobs Jenkins ==
    181 Copier l'ancienne config de Jenkins :
    182 
    183  * sur l'ancienne config
    184 {{{
    185 #!sh
    186  tar -czvf jobs.tgz jobs
    187  scp jobs.tgz root@134.158.75.148:jobs.tgz
    188 }}}
    189 
    190  * Puis sur la machine virtuelle :
    191 {{{
    192 #!sh
    193  cd "jenkins_home"/jobs
    194  cd /var/lib/jenkins
    195 }}}
    196 
    197 Killer le serveur jenkins existant :
    198 
    199 {{{
    200 #!sh
    201  ps -ax | grep jenk
    202  kill …..
    203 }}}
    204 Le relancer :
    205 
    206 {{{
    207 #!sh
    208  service jenkins restart
    209 }}}
    210 Vérifier que tout est bon : http://134.158.75.148:8080
    211 
    212 == 5.Vérifier serveur de jobs Jenkins et lancer la construction de PSPA ==
    213 Sur le serveur Jenkins http://134.158.75.148:8080, vérifier et ci-besoin lancer les tous les jobs à la main
    214 
    215 Lancement des pages Web (apache)
    216 
    217 {{{
    218 service httpd start
    219 }}}
    220 Les pages web se trouvent ici sur le serveur (stratus lab): /var/www/html/
    221 
    222 == Relancer la machine virtuelle ==
    223 Si vous n'avez pas stratus-lab, l'installer [http://stratuslab.eu/try/2012/01/10/try-user-cli-installation.html stratusLab] Refaire les 2 exports :
    224 
    225 {{{
    226 export PATH=$PATH:<install location>/bin
    227 export PYTHONPATH=$PYTHONPATH:<install location>/lib/stratuslab/python
    228 Dans mon cas :
    229 export PATH=$PATH:/Users/garnier/Work/stratuslab-cli-user-pkg-2/bin;
    230 export PYTHONPATH=$PYTHONPATH:/Users/garnier/Work/stratuslab-cli-user-pkg-2/lib/stratuslab/python
    231 
    232 }}}
    233 Tuer l'ancienne machine :
    234 
    235 {{{
    236 #!sh
    237 stratus-describe-instance 
    238 id   state     vcpu memory    cpu% host/ip                  name
    239 1940 Failed    1    0         0    vm-166.lal.stratuslab.eu one-1940
    240 1942 Unknown   4    2124480   3    vm-169.lal.stratuslab.eu one-1942
    241 2118 Running   4    2124800   18   vm-148.lal.stratuslab.eu one-2118
    242 
    243 stratus-kill-instance 2118
    244 }}}
    245 La relancer (l'adresse pspa.lal.in2p3.fr est mappée sur 134.158.75.148)
    246 
    247 {{{
    248 #!sh
    249  stratus-run-instance --type=c1.xlarge \
    250                                  --persistent-disk=088dd96c-d97a-4f39-9788-ee00572114dc KgZJLfwFgRi0zHCi2DL5QJUqNSY \
    251                                  --address 134.158.75.148
    252 }}}
    253 Se logger sur la machine, puis lancement des pages Web (apache)
    254 
    255 {{{
    256 ssh root@....
    257 service httpd start
    258 }}}
    259 == Relancer Jenkins ==
    260 Après être logé et Jenkins relancé :
    261 
    262 {{{
    263 [root@onevm-108 ~]# service jenkins restart
    264 Shutting down Jenkins                                      [  OK  ]
    265 Starting Jenkins                                           [  OK  ]
    266 }}}
    267 Accédez à la page web de configuration de la sécurité de Jenkins : http://onevm-196.lal.in2p3.fr:8080/configureSecurity/
    268 
    269  * Cocher dans un premier temps :
    270 
    271  * "Activer la sécurité",
    272  * "Tout le monde a accès à toutes les fonctionnalités",
    273  * "Base de données des utilisateurs de Jenkins",
    274  * "Se protéger contre les exploits de type Cross Site Request Forgery",
    275  * "Default Crumb Issuer",
    276  * "Activer la compatibilité proxy"
    277 
    278  * Ajouter un nouvel utilisateur (vous)
    279  * Re http://onevm-200.lal.in2p3.fr:8080/configureSecurity/, et cocher : "Les utilisateurs connectés peuvent tout faire"
    280 
    281  * Ajouter des plugins :
    282    * Post build task
    283    * Mercurial plugin
    284 
    285 == Création du job Projet PSPA-Software = ==
    286 '''Compilation des softwares''' [[BR]]
    287 
    288 Le script lancé se trouve ici PSPA/Softwares/build-PSPA-Softwares.sh  [[BR]]
    289 
    290 Les fichiers de configuration pour ce job se trouvent ici PSPA/Softwares/config-PSPA-Softwares.xml [[BR]]
    291 
    292 Pour remettre en place ce job :
    293 
    294  * Créer un job du même nom sur Jenkins
    295  * Se logger sur la machine du cloud
    296  * Déposer ce fichier à cet emplacement /var/lib/jenkins/jobs/PSPA-Softwares/.
    297 
    298 == Création du job Projet PSPA_Develop = ==
    299 '''Compilation et lancement du serveur web sur la branch "develop"'''  [[BR]]
    300 
    301 Le script lancé se trouve ici PSPA/PSPA/build-PSPA.sh [[BR]]
    302 
    303 Les fichiers de configuration pour ce job se trouvent ici PSPA/PSPA/config-PSPA_Develop.xml [[BR]]
    304 
    305 Pour remettre en place ce job :
    306 
    307  * Créer un job du même nom sur Jenkins
    308  * Se logger sur la machine du cloud
    309  * Déposer ce fichier à cet emplacement /var/lib/jenkins/jobs/PSPA_Develop/.
    310 
    311 == Création du job PSPA-Check_Develop = ==
    312 '''Test et lancement du serveur Web si il est planté''' [[BR]]
    313 
    314 Le script lancé se trouve ici PSPA/PSPA/check-PSPA_Develop.sh  [[BR]]
    315 
    316 Les fichiers de configuration pour ce job se trouvent ici PSPA/PSPA/config-PSPA-Check_Develop.xml [[BR]]
    317 
    318 Pour remettre en place ce job :
    319 
    320  * Créer un job du même nom sur Jenkins
    321  * Se logger sur la machine du cloud
    322  * Déposer ce fichier à cet emplacement /var/lib/jenkins/jobs/PSPA_Develop/.