Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 79

Daniel Dehennin, 27/03/2015 09:37

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