Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 91

Gilles Grandgérard, 03/01/2017 15:04

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