Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 76

Gilles Grandgérard, 12/03/2015 15:59

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