Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 82

Laurent Flori, 21/04/2015 10:26

1 47 Gilles Grandgérard
{{toc}}
2 47 Gilles Grandgérard
3 61 Klaas TJEBBES
http://dev-eole.ac-dijon.fr/projects/eole-ci-tests/wiki/ModeleReseaux
4 61 Klaas TJEBBES
5 50 Gilles Grandgérard
h1. A) Installation pour utilisation d'une gateway
6 3 Gilles Grandgérard
7 40 Gilles Grandgérard
h2. A.1) Récupération du dépot eole-ci-test
8 1 Gilles Grandgérard
9 4 Gilles Grandgérard
Faire :
10 4 Gilles Grandgérard
<pre>
11 29 Gérald Schwartzmann
git clone https://dev-eole.ac-dijon.fr/git/eole-ci-tests.git
12 4 Gilles Grandgérard
</pre>
13 1 Gilles Grandgérard
14 40 Gilles Grandgérard
h2. A.2) Ajout de la gateway dans le eole-ci-tests
15 1 Gilles Grandgérard
16 77 Gilles Grandgérard
Attention: 
17 77 Gilles Grandgérard
- Le <user_nebula> n'est pas obligatoirement le même sur ONE et sur BOGDANOV. Vous aurez peut être à créer un ou deux fichiers !
18 77 Gilles Grandgérard
- Si vous prévoyez d'utiliser les 2 environnements en même temps, utilisez deux IP !
19 77 Gilles Grandgérard
- Attention à ce que l'adresse soit disponible: voir http://dev-eole.ac-dijon.fr/projects/eole-interne/wiki/Adressage_ip 
20 76 Gilles Grandgérard
21 42 Gilles Grandgérard
il faut créer un script dans 'configuration/gateway/' dont le nom sera 'routeur_<user_nebula>.sh'. (Tips: copier un fichier existant !)
22 25 Gilles Grandgérard
Penser à mettre les droits d'execution.
23 1 Gilles Grandgérard
24 22 Gilles Grandgérard
<pre>
25 22 Gilles Grandgérard
IP_EOLE=<fin de l'Ip sur le reseau EOLE>
26 69 Gilles Grandgérard
IP_ONE=<fin de l'Ip sur le reseau ONE>
27 62 Gilles Grandgérard
IP_UTILISATEUR=<ip du poste de travail>
28 22 Gilles Grandgérard
</pre>
29 62 Gilles Grandgérard
30 80 Gérald Schwartzmann
+NB+ : *IP_UTILISATEUR* est facultative, la variable est utilisée pour envoyer des send-notify au travers du réseau...
31 62 Gilles Grandgérard
32 40 Gilles Grandgérard
h2. A.3) Ajout de la clef publique ssh dans eole-ci-tests/security/authorized_keys
33 1 Gilles Grandgérard
34 30 Gérald Schwartzmann
Les clefs publiques SSH présentes dans eole-ci-tests/security/authorized_keys sont automatiquement concatenées dans /root/.ssh/authorized_keys au 1er démarrage de la VM.
35 1 Gilles Grandgérard
L'acces a chaque VM peut se faire sans mot de passe.
36 1 Gilles Grandgérard
37 1 Gilles Grandgérard
Utiliser le nom 'user@hostname' pour votre fichier de cle.
38 1 Gilles Grandgérard
39 40 Gilles Grandgérard
h2. A.4) Commit
40 1 Gilles Grandgérard
41 1 Gilles Grandgérard
<pre>
42 82 Laurent Flori
git commit -am "ajout de l'utisateur <user>"
43 1 Gilles Grandgérard
git push
44 1 Gilles Grandgérard
</pre>
45 1 Gilles Grandgérard
46 42 Gilles Grandgérard
h2. A.5) Publication de la clef et du fichier routeur
47 1 Gilles Grandgérard
48 77 Gilles Grandgérard
Attendre que les Jenkins publient le commit vers les VM (15 minutes)
49 1 Gilles Grandgérard
50 76 Gilles Grandgérard
OU, faire :
51 78 Daniel Dehennin
* Ouvrir votre navigateur, et Aller pour BODANOV : http://jenkins.eole.lan/view/Dev/job/git-clone-eole-ci-tests-to-all-vm/ ou pour ONE : http://jenkins2.eole.lan/view/Tous/job/git-clone-eole-ci-tests-to-all-vm/
52 77 Gilles Grandgérard
* Se connecter
53 54 Fabrice Barconnière
* Cliquer sur *Lancer un build*
54 42 Gilles Grandgérard
* Dans l"historique des builds" un build apparait. Cliquer sur le lien
55 42 Gilles Grandgérard
* Le message de commit 'git' doit apparaitre dans la sortie
56 26 Gilles Grandgérard
57 79 Daniel Dehennin
h2. A.6) Initialiser les réseaux dans Bogdanov
58 1 Gilles Grandgérard
59 36 Gilles Grandgérard
* Ouvrir votre navigateur, et Aller http://jenkins.eole.lan/view/Dev/job/genere-modele-reseau-dans-nebula/build?delay=0sec
60 77 Gilles Grandgérard
* Se connecter 
61 37 Gilles Grandgérard
* Saisir le nom d'utilisateur et le mot de passe
62 60 Klaas TJEBBES
* Cliquer sur *Build*
63 60 Klaas TJEBBES
* Dans "historique des builds" un build apparait. Cliquer sur le lien
64 38 Gilles Grandgérard
* Cliquer ensuite sur le lien 'Console Output'
65 37 Gilles Grandgérard
* Le texte affiche la sortie standard du processus de création des réseaux virtuels
66 1 Gilles Grandgérard
 
67 79 Daniel Dehennin
h2. A.7) Initialiser les réseaux dans Yggdrasil
68 1 Gilles Grandgérard
69 79 Daniel Dehennin
* Ouvrir votre navigateur, et Aller http://jenkins2.eole.lan/view/Tous/job/genere-modele-reseau-dans-nebula-all-users/build?delay=0sec
70 79 Daniel Dehennin
* Se connecter 
71 79 Daniel Dehennin
* Saisir le nom d'utilisateur et le mot de passe
72 79 Daniel Dehennin
* Cliquer sur *Build*
73 79 Daniel Dehennin
* Dans "historique des builds" un build apparait. Cliquer sur le lien
74 79 Daniel Dehennin
* Cliquer ensuite sur le lien 'Console Output'
75 79 Daniel Dehennin
* Le texte affiche la sortie standard du processus de création des réseaux virtuels
76 79 Daniel Dehennin
77 79 Daniel Dehennin
h2. A.8) Lancer la gateway
78 36 Gilles Grandgérard
79 70 Gilles Grandgérard
* Aller dans OpenNebula (https://bogdanov.eole.lan/)
80 35 Gérald Schwartzmann
* Aller dans 'Virtual Resources', puis 'Templates'
81 35 Gérald Schwartzmann
* Chercher 'gateway'
82 35 Gérald Schwartzmann
* Cliquer sur 'Instantiate'.La VM démarre.
83 28 Gilles Grandgérard
84 35 Gérald Schwartzmann
* Vérification
85 81 Gérald Schwartzmann
** Se connecter en VNC avec 'eole/$eole&123456$'
86 35 Gérald Schwartzmann
** Taper 'ip addr' ==> vérifier l'IP SW EOLE
87 32 Gérald Schwartzmann
* lancer :
88 32 Gérald Schwartzmann
<pre>
89 32 Gérald Schwartzmann
 ssh root@<ipgateway>  ==> la connexion doit être sans mot de passe car la clef
90 32 Gérald Schwartzmann
</pre>
91 26 Gilles Grandgérard
92 40 Gilles Grandgérard
h1. B) Préparation du poste de travail
93 26 Gilles Grandgérard
94 40 Gilles Grandgérard
h2. B.1) Modifier /etc/hosts
95 26 Gilles Grandgérard
96 35 Gérald Schwartzmann
* Ajouter votre gateway : 
97 26 Gilles Grandgérard
<pre>
98 55 Fabrice Barconnière
192.168.230.<IP> gateway.ac-test.fr gateway
99 1 Gilles Grandgérard
</pre>
100 26 Gilles Grandgérard
101 26 Gilles Grandgérard
* Vérification
102 26 Gilles Grandgérard
<pre>
103 35 Gérald Schwartzmann
ping gateway
104 26 Gilles Grandgérard
ping gateway.ac-test.fr
105 26 Gilles Grandgérard
</pre>
106 26 Gilles Grandgérard
107 40 Gilles Grandgérard
h2. B.2) Ajouter tous les noms des machines ac-test.fr dans /etc/hosts
108 40 Gilles Grandgérard
109 73 Daniel Dehennin
*ATTENTION* : Cette étape n’est nécessaire que si vous n’utilisez pas le DNS EOLE (192.168.232.2)
110 73 Daniel Dehennin
111 58 Fabrice Barconnière
* Concatener le fichier (eole-ci-tests.git)/scripts/host dans /etc/hosts (connecté root)
112 56 Fabrice Barconnière
<pre>
113 1 Gilles Grandgérard
cd (eole-ci-tests.git)/scripts/
114 1 Gilles Grandgérard
cat hosts >> /etc/hosts
115 33 Gérald Schwartzmann
</pre>
116 1 Gilles Grandgérard
117 40 Gilles Grandgérard
h2. B.3) Activation des routes
118 40 Gilles Grandgérard
119 64 Gilles Grandgérard
* Executer le fichier :
120 64 Gilles Grandgérard
<pre>
121 64 Gilles Grandgérard
# cd <depot eole-ci-tests.git>
122 64 Gilles Grandgérard
# ./scripts/gateway-up.sh
123 64 Gilles Grandgérard
</pre>
124 33 Gérald Schwartzmann
Les routes sont inscrites...
125 1 Gilles Grandgérard
126 67 Gilles Grandgérard
REMARQUES:
127 67 Gilles Grandgérard
* Ce script devra être lancé à chaque redémarrage de votre machine !*
128 64 Gilles Grandgérard
129 1 Gilles Grandgérard
h2. B.4) Lancement du daemon send notify
130 64 Gilles Grandgérard
131 66 Gilles Grandgérard
* Si vous le souhaitez, Executer le fichier :
132 64 Gilles Grandgérard
<pre>
133 64 Gilles Grandgérard
# cd <depot eole-ci-tests.git>
134 72 Gilles Grandgérard
# nohup python ./scripts/server_notify_network.py &
135 64 Gilles Grandgérard
</pre>
136 64 Gilles Grandgérard
137 65 Gilles Grandgérard
REMARQUES:
138 65 Gilles Grandgérard
* Ce script devra être lancé à chaque redémarrage de votre machine !*
139 72 Gilles Grandgérard
* Le port 50000 est ouvert en UDP sur le poste client. Il attend des messages UDP pour les afficher avec send-notify *
140 1 Gilles Grandgérard
141 65 Gilles Grandgérard
h2. B.5) Selection de l'identitée SSH ( Si besoin)
142 1 Gilles Grandgérard
143 74 Daniel Dehennin
* Dans le cas, ou vous utilisez plusieurs clef publique ssh, Modifier le fichier *@~/.ssh/config@* en ajoutant :
144 39 Benjamin Bohard
<pre>
145 40 Gilles Grandgérard
Host *.ac-test.fr
146 1 Gilles Grandgérard
   IdentityFile ~/.ssh/<fichier de la cle copiée dans eole-ci-tests>
147 1 Gilles Grandgérard
</pre>
148 39 Benjamin Bohard
149 65 Gilles Grandgérard
h2. B.6) Astuce SSH knows hosts
150 51 Gilles Grandgérard
151 75 Daniel Dehennin
* Pour éviter les message know_hosts, vous pouvez modifier le fichier *@.ssh/config@* en ajoutant :
152 51 Gilles Grandgérard
<pre>
153 51 Gilles Grandgérard
# Use daily destroyed file to avoid pain with VMs
154 51 Gilles Grandgérard
Host *.ac-test.fr 192.168.230.1?? 192.168.230.2??
155 51 Gilles Grandgérard
  CheckHostIP no
156 1 Gilles Grandgérard
  UserKnownHostsFile /tmp/ac-test.fr
157 51 Gilles Grandgérard
  StrictHostKeyChecking no
158 51 Gilles Grandgérard
</pre>
159 51 Gilles Grandgérard
160 65 Gilles Grandgérard
h2. B.7) Vérification
161 27 Gilles Grandgérard
162 72 Gilles Grandgérard
* Aller dans OpenNebual (https://bogdanov.eole.lan/)
163 44 Gilles Grandgérard
* Aller dans 'Virtual Resources', puis 'Templates'
164 44 Gilles Grandgérard
* Chercher 'aca.eolebase'
165 44 Gilles Grandgérard
* Cliquer sur 'Instantiate'.La VM démarre.
166 44 Gilles Grandgérard
* Se connecter en VNC avec 'eole/$eole&123456'
167 27 Gilles Grandgérard
* Taper 'ip addr' ==> vérifier l'IP SW EOLE
168 27 Gilles Grandgérard
169 45 Gilles Grandgérard
170 1 Gilles Grandgérard
h1. C) Utilisation d'un template 
171 1 Gilles Grandgérard
172 62 Gilles Grandgérard
h2. C.1) Démarrer une machine et se connecter dessus
173 1 Gilles Grandgérard
174 62 Gilles Grandgérard
* Choisir la machine dans Nebula 
175 62 Gilles Grandgérard
* l'instancier
176 62 Gilles Grandgérard
* lancer dans une console
177 62 Gilles Grandgérard
178 59 Gérald Schwartzmann
<pre>
179 59 Gérald Schwartzmann
# ssh root@nomDeMachine
180 59 Gérald Schwartzmann
</pre>
181 59 Gérald Schwartzmann
182 59 Gérald Schwartzmann
Exemple :
183 59 Gérald Schwartzmann
184 59 Gérald Schwartzmann
<pre>
185 59 Gérald Schwartzmann
# ssh root@amonecole.etb3.ac-test.fr
186 59 Gérald Schwartzmann
</pre>
187 1 Gilles Grandgérard
188 62 Gilles Grandgérard
h2. C.2) Obtenir le contexte de la machine
189 62 Gilles Grandgérard
190 72 Gilles Grandgérard
Le contexte nécessite de monter le partage VirtFs eole-ci-tests. pour cela faire :
191 1 Gilles Grandgérard
<pre>
192 63 Gilles Grandgérard
# /root/mount.eole-ci-tests
193 63 Gilles Grandgérard
# . /mnt/eole-ci-tests/scripts/getVMContext.sh 
194 1 Gilles Grandgérard
</pre>
195 1 Gilles Grandgérard
196 62 Gilles Grandgérard
Le script getVMContext.sh permet de charger les variables contextuelles du module.
197 62 Gilles Grandgérard
Attention : il faut le sourcer !
198 59 Gérald Schwartzmann
199 62 Gilles Grandgérard
Le résultat est de la forme :
200 59 Gérald Schwartzmann
<pre>
201 59 Gérald Schwartzmann
root@amonecole:/mnt/eole-ci-tests/scripts# ./getVMContext.sh 
202 59 Gérald Schwartzmann
VM_ONE           = 
203 59 Gérald Schwartzmann
VM_ID            = 7295
204 59 Gérald Schwartzmann
VM_OWNER         = gerald
205 59 Gérald Schwartzmann
VM_MACHINE       = etb3.amonecole
206 59 Gérald Schwartzmann
VM_MAJAUTO       = DEV
207 59 Gérald Schwartzmann
VM_VERSIONMAJEUR = 2.4.1
208 59 Gérald Schwartzmann
VM_MODULE        = amonecole
209 59 Gérald Schwartzmann
VM_CONTAINER     = oui
210 59 Gérald Schwartzmann
VM_HOSTNAME      = amonecole
211 59 Gérald Schwartzmann
VM_DNSNAME       = amonecole.etb3.ac-test.fr
212 59 Gérald Schwartzmann
VM_ETABLISSEMENT = etb3
213 59 Gérald Schwartzmann
VM_ETH0_IP       = 192.168.0.33
214 59 Gérald Schwartzmann
VM_ETH0_GW       = 192.168.0.1
215 59 Gérald Schwartzmann
VM_ETH1_IP       = 10.3.2.1
216 59 Gérald Schwartzmann
---
217 1 Gilles Grandgérard
root@amonecole:/mnt/eole-ci-tests/scripts#
218 59 Gérald Schwartzmann
</pre>
219 1 Gilles Grandgérard
220 62 Gilles Grandgérard
h2. C.3) Configurer la machine
221 1 Gilles Grandgérard
222 68 Gérald Schwartzmann
<pre>
223 68 Gérald Schwartzmann
cd /mnt/eole-ci-tests/scripts/
224 68 Gérald Schwartzmann
</pre>
225 68 Gérald Schwartzmann
226 68 Gérald Schwartzmann
* Le script *configure-vm.sh* permet d'appliquer une configuration à la VM. 
227 62 Gilles Grandgérard
* Ce script appliquera :
228 62 Gilles Grandgérard
- la commande Maj-Auto adaptée au contexte,
229 62 Gilles Grandgérard
- Copiera le fichier 'config.eol' correspondant à la machine et la version 
230 62 Gilles Grandgérard
- lancera l'instance sans questions
231 62 Gilles Grandgérard
232 59 Gérald Schwartzmann
Pour obtenir de l'aide :
233 59 Gérald Schwartzmann
234 1 Gilles Grandgérard
<pre>
235 59 Gérald Schwartzmann
# ./configure-vm.sh -h
236 59 Gérald Schwartzmann
</pre>
237 59 Gérald Schwartzmann
238 62 Gilles Grandgérard
Pour lancer l'instanciation avec le configuration par 'default'
239 1 Gilles Grandgérard
240 1 Gilles Grandgérard
<pre>
241 1 Gilles Grandgérard
# ./configure-vm.sh -M instance
242 1 Gilles Grandgérard
</pre>
243 1 Gilles Grandgérard
244 62 Gilles Grandgérard
Pour lancer l'instanciation avec le configuration par 'hamaster'
245 62 Gilles Grandgérard
246 62 Gilles Grandgérard
<pre>
247 62 Gilles Grandgérard
# ./configure-vm.sh -M instance -C hamaster
248 62 Gilles Grandgérard
</pre>
249 62 Gilles Grandgérard
250 62 Gilles Grandgérard
Pour ne copier que la configuration 'hamaster'
251 62 Gilles Grandgérard
252 62 Gilles Grandgérard
<pre>
253 72 Gilles Grandgérard
# ./configure-vm.sh -M configeol -C hamaster
254 62 Gilles Grandgérard
</pre>
255 62 Gilles Grandgérard
256 62 Gilles Grandgérard
h2. C.4)