Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 66

Gilles Grandgérard, 24/11/2014 17:00

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