Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 93

Gilles Grandgérard, 14/03/2017 16:36

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