Installation Gateway dans nebula » Historique » Version 12
Gilles Grandgérard, 21/05/2014 18:05
1 | 1 | Gilles Grandgérard | h1. Avant Propos |
---|---|---|---|
2 | 1 | Gilles Grandgérard | |
3 | 1 | Gilles Grandgérard | |
4 | 10 | Gilles Grandgérard | h2. OpenNebula et Eole-Ci-Tests |
5 | 1 | Gilles Grandgérard | |
6 | 9 | Gilles Grandgérard | h3. Ajouter le partage 'eole-ci-tests' sur une VM |
7 | 9 | Gilles Grandgérard | |
8 | 9 | Gilles Grandgérard | Si vous avez besoin de monter 'eole-ci-tests' sur une VM, il faut ajouter une ligne RAW dans la configuration du modèle : |
9 | 9 | Gilles Grandgérard | <pre> |
10 | 9 | Gilles Grandgérard | RAW=[TYPE="kvm",DATA="<devices><filesystem type='mount' accessmode='squash'><source dir='/var/lib/one/datastores/eole-ci'/><target dir='eole-ci'/></filesystem></devices>" ] |
11 | 9 | Gilles Grandgérard | </pre> |
12 | 9 | Gilles Grandgérard | |
13 | 9 | Gilles Grandgérard | Une fois la machine instanciée, pour monter le partage il faut executer : |
14 | 9 | Gilles Grandgérard | <pre> |
15 | 9 | Gilles Grandgérard | mkdir /mnt/eole-ci-tests |
16 | 9 | Gilles Grandgérard | mount -t 9p -o trans=virtio eole-ci /mnt/eole-ci-tests -oversion=9p2000.L |
17 | 1 | Gilles Grandgérard | </pre> |
18 | 1 | Gilles Grandgérard | |
19 | 11 | Gilles Grandgérard | Pour installer le service 'eole-ci-tests', executer |
20 | 11 | Gilles Grandgérard | <pre> |
21 | 11 | Gilles Grandgérard | /mnt/eole-ci-tests/scripts/postinstall/postinstall.sh <vm_nebula_id> |
22 | 11 | Gilles Grandgérard | </pre> |
23 | 1 | Gilles Grandgérard | |
24 | 11 | Gilles Grandgérard | Attention: La mise à jour du git 'eole-ci-tests' est faite toutes les 15 minutes par Jenkins. Lors de ce process, tous les fichiers sont ECRASES |
25 | 11 | Gilles Grandgérard | |
26 | 10 | Gilles Grandgérard | h3. Exemple de propriété d'une VM dans Nebula |
27 | 1 | Gilles Grandgérard | |
28 | 1 | Gilles Grandgérard | * Exemple de template utilisé dans Nebula pour la machine Amon de l'établissement Etb2 pour l'utilisateur Ggg |
29 | 1 | Gilles Grandgérard | La selection de l'image (version et architecture) est automatisé. Le UNAME est selectionné automatiquement |
30 | 1 | Gilles Grandgérard | L'architecture réseau les switchs générés d'après le modele |
31 | 10 | Gilles Grandgérard | Le context est généré |
32 | 10 | Gilles Grandgérard | <pre> |
33 | 11 | Gilles Grandgérard | NAME = "ggg.etb2.amon" |
34 | 11 | Gilles Grandgérard | CPU = "0.05" |
35 | 11 | Gilles Grandgérard | MEMORY = "512" |
36 | 11 | Gilles Grandgérard | VCPU = "1" |
37 | 11 | Gilles Grandgérard | FEATURES = [ acpi="yes", pae="no" ] |
38 | 11 | Gilles Grandgérard | GRAPHICS = [ KEYMAP="fr", LISTEN="0.0.0.0", TYPE="vnc" ] |
39 | 11 | Gilles Grandgérard | INPUT = [ BUS="usb", TYPE="tablet" ] |
40 | 11 | Gilles Grandgérard | RAW = [ TYPE="kvm", DATA="<devices><filesystem type='mount' accessmode='squash'><source dir='/var/lib/one/datastores/eole-ci'/><target dir='eole-ci'/></filesystem></devices>" ] |
41 | 11 | Gilles Grandgérard | DISK = [ DRIVER="qcow2", IMAGE="amon-2.4-daily-amd64.fi", IMAGE_UNAME="gilles" ] |
42 | 11 | Gilles Grandgérard | OS = [ ARCH="x86_64", BOOT="hd" ] |
43 | 11 | Gilles Grandgérard | NIC = [ MODEL="virtio", NETWORK="SW-ggg-academie", NETWORK_UNAME="gilles" ] |
44 | 11 | Gilles Grandgérard | NIC = [ MODEL="virtio", NETWORK="SW-ggg-admin2", NETWORK_UNAME="gilles" ] |
45 | 11 | Gilles Grandgérard | NIC = [ MODEL="virtio", NETWORK="SW-ggg-pedago2", NETWORK_UNAME="gilles" ] |
46 | 11 | Gilles Grandgérard | NIC = [ MODEL="virtio", NETWORK="SW-ggg-dmz2", NETWORK_UNAME="gilles" ] |
47 | 11 | Gilles Grandgérard | CONTEXT = [ VM_ID="$VMID", VM_HOSTNAME="amon", VM_MACHINE="etb2.amon", VM_TEMPLATE="ggg.etb2.amon", VM_USER="ggg" ] |
48 | 10 | Gilles Grandgérard | </pre> |
49 | 10 | Gilles Grandgérard | |
50 | 10 | Gilles Grandgérard | h2. Le modele de réseau |
51 | 10 | Gilles Grandgérard | |
52 | 10 | Gilles Grandgérard | |
53 | 9 | Gilles Grandgérard | |
54 | 9 | Gilles Grandgérard | h3. Modèle de réseau de test pour les VM Nebula |
55 | 9 | Gilles Grandgérard | |
56 | 12 | Gilles Grandgérard | !ModeleReseauTestEole.png! |
57 | 9 | Gilles Grandgérard | |
58 | 9 | Gilles Grandgérard | |
59 | 9 | Gilles Grandgérard | |
60 | 1 | Gilles Grandgérard | h2. Les fichiers de configuration |
61 | 1 | Gilles Grandgérard | |
62 | 2 | Gilles Grandgérard | * ModulesConf.yaml |
63 | 1 | Gilles Grandgérard | |
64 | 7 | Gilles Grandgérard | Ce fichier décrit globalement les modules Eole. |
65 | 7 | Gilles Grandgérard | Il est utilisé pour : |
66 | 7 | Gilles Grandgérard | * générer les context de chaque modele de VM |
67 | 7 | Gilles Grandgérard | * générer les fresh install eole ( <module>-<version>-<architecure>.fi dans nebula ) |
68 | 7 | Gilles Grandgérard | * générer les daily ( <module>-<versionMajer>-daily-<architecure>.fi dans nebula ) |
69 | 7 | Gilles Grandgérard | |
70 | 5 | Gilles Grandgérard | <pre> |
71 | 8 | Gilles Grandgérard | eoleVersions: # liste des numéros de version géré dans l'env de test |
72 | 5 | Gilles Grandgérard | - 2.3.13-rc1 |
73 | 5 | Gilles Grandgérard | - 2.4.0 |
74 | 1 | Gilles Grandgérard | |
75 | 8 | Gilles Grandgérard | gateways: # liste des gateways par utilisateur Nebula |
76 | 8 | Gilles Grandgérard | - user: gilles # le nom de l'utilisateur Nebula |
77 | 8 | Gilles Grandgérard | prefixe: ggg # le prefixe a utilisé pour les templates, switchs, et vm |
78 | 8 | Gilles Grandgérard | ipsweole: 82 # l'adresse ip sur le réseau sw-eole |
79 | 5 | Gilles Grandgérard | |
80 | 8 | Gilles Grandgérard | modules: # La liste des modules connus |
81 | 8 | Gilles Grandgérard | - module: base # le nom du module dans les modeles |
82 | 8 | Gilles Grandgérard | memoire: 1024 # permet de définir la mémoire requise pour ce module |
83 | 8 | Gilles Grandgérard | versions: # la liste des versions de ce module |
84 | 8 | Gilles Grandgérard | - versionMajeur: 2.3 # dans la version 2.3.. |
85 | 8 | Gilles Grandgérard | menu: 1 # ... le module est en position 1 sur le menu d'installation |
86 | 8 | Gilles Grandgérard | actif: oui # indique que le module est déactivé dans les tests |
87 | 8 | Gilles Grandgérard | container: non # permet d'indiquer aux tests qu'il faut faire l'installation des conteneurs ou non |
88 | 6 | Gilles Grandgérard | - versionMajeur: 2.4 ... |
89 | 6 | Gilles Grandgérard | menu: 1 |
90 | 6 | Gilles Grandgérard | ... |
91 | 6 | Gilles Grandgérard | </pre> |
92 | 5 | Gilles Grandgérard | |
93 | 5 | Gilles Grandgérard | * ModeleReseautestEole.yaml |
94 | 1 | Gilles Grandgérard | |
95 | 1 | Gilles Grandgérard | Attention: Les gateway de chaque réseau est toujours l'ip .1 de chaque réseau |
96 | 9 | Gilles Grandgérard | Il est utilisé pour : |
97 | 9 | Gilles Grandgérard | * générer les context de chaque modele de VM |
98 | 9 | Gilles Grandgérard | * générer les templates de chaque machine |
99 | 9 | Gilles Grandgérard | * démarrer les VM lors des tests en Itégration Continue |
100 | 8 | Gilles Grandgérard | |
101 | 7 | Gilles Grandgérard | <pre> |
102 | 7 | Gilles Grandgérard | bases: |
103 | 7 | Gilles Grandgérard | - base: eole23 # nom de la base utiliser dans la description d'une machine (cf ci dessous ) |
104 | 7 | Gilles Grandgérard | versionMajeur: 2.3 # quel est la version majeur a utiliser. La version mineur sera déduite du fichier ModulesConf.yaml |
105 | 7 | Gilles Grandgérard | - base: winpcadmin |
106 | 7 | Gilles Grandgérard | imageNebula: windows-xp-sp3.vm # si imageNebula est presente, alors la base n'est pas EOLE ==> windows ou autre |
107 | 7 | Gilles Grandgérard | architecture: amd64 # dans ce cas, l'architecture doit être définie |
108 | 7 | Gilles Grandgérard | .... |
109 | 7 | Gilles Grandgérard | |
110 | 7 | Gilles Grandgérard | switchs: # c'est la liste des switchs nécessaire à ce modele |
111 | 7 | Gilles Grandgérard | - sw: academie # c'est l'id du switch . dans Nebula, il correspond à "SW-<pefixe>-academie" |
112 | 1 | Gilles Grandgérard | network: 192.168.0 # c'est le réseau associé à ce switch |
113 | 1 | Gilles Grandgérard | ... |
114 | 7 | Gilles Grandgérard | |
115 | 7 | Gilles Grandgérard | networks: # ce tag est la racine de description de tous les établissements |
116 | 7 | Gilles Grandgérard | - etablissement: aca # ce tag correspond à un etablissement dont le nom est 'aca'. Toutes les machines définies sous l'établissement seront |
117 | 7 | Gilles Grandgérard | # préfixées par <prefixe_user>.<etablissement> |
118 | 1 | Gilles Grandgérard | machines: # c'est la liste des machines |
119 | 7 | Gilles Grandgérard | |
120 | 7 | Gilles Grandgérard | - machine: eolebase # chaque machine a : un nom (eolebase). |
121 | 7 | Gilles Grandgérard | # le template de cette machine sera <prefixe_user>.<etablissement>.<machine> (ggg.aca.eolebase) |
122 | 7 | Gilles Grandgérard | # le nom dns sera : <machine>.<etablissement>@ac-test.fr pour les etablissement et |
123 | 7 | Gilles Grandgérard | # <machine>@ac-test.fr pour les machines en académie |
124 | 7 | Gilles Grandgérard | # Ce nom est important car il va définir un template dans les configurations enregistrées dans eole-ci-test |
125 | 8 | Gilles Grandgérard | module: base # c'est le nom du module (cf ModulesConf.yaml). La valeur est obligatoire pour les modules Eole |
126 | 8 | Gilles Grandgérard | base: eole24 # identifie l'image de base à utiliser eole23, eole24, win... |
127 | 8 | Gilles Grandgérard | switchs: # ce tag décris les liens de la machine |
128 | 8 | Gilles Grandgérard | - sw: academie # le nom du switch |
129 | 8 | Gilles Grandgérard | host: 24 # l'ip sur ce switch |
130 | 8 | Gilles Grandgérard | ... |
131 | 8 | Gilles Grandgérard | |
132 | 7 | Gilles Grandgérard | - machine: sphynx24a |
133 | 7 | Gilles Grandgérard | module: sphynx |
134 | 7 | Gilles Grandgérard | base: eole24 |
135 | 8 | Gilles Grandgérard | switchs: # exemple avec plusieurs switchs |
136 | 7 | Gilles Grandgérard | - sw: academie |
137 | 7 | Gilles Grandgérard | host: 11 |
138 | 7 | Gilles Grandgérard | - sw: agriates |
139 | 7 | Gilles Grandgérard | host: 11 |
140 | 7 | Gilles Grandgérard | - sw: ha1 |
141 | 7 | Gilles Grandgérard | host: 11 |
142 | 8 | Gilles Grandgérard | ... |
143 | 8 | Gilles Grandgérard | |
144 | 8 | Gilles Grandgérard | - machine: pcadmin # exemple pour un poste client |
145 | 7 | Gilles Grandgérard | base: winpcadmin |
146 | 7 | Gilles Grandgérard | switchs: |
147 | 7 | Gilles Grandgérard | - sw: admin1 |
148 | 7 | Gilles Grandgérard | host: 20 |
149 | 8 | Gilles Grandgérard | ... |
150 | 7 | Gilles Grandgérard | </pre> |
151 | 1 | Gilles Grandgérard | |
152 | 1 | Gilles Grandgérard | * test.yaml |
153 | 3 | Gilles Grandgérard | |
154 | 3 | Gilles Grandgérard | todo |
155 | 1 | Gilles Grandgérard | |
156 | 1 | Gilles Grandgérard | h1. Installation |
157 | 1 | Gilles Grandgérard | |
158 | 5 | Gilles Grandgérard | |
159 | 3 | Gilles Grandgérard | |
160 | 1 | Gilles Grandgérard | h2. Récupération du dépot eole-ci-test |
161 | 1 | Gilles Grandgérard | |
162 | 4 | Gilles Grandgérard | Faire : |
163 | 4 | Gilles Grandgérard | <pre> |
164 | 4 | Gilles Grandgérard | ssh://git@dev-eole.ac-dijon.fr/eole-ci-tests.git |
165 | 4 | Gilles Grandgérard | </pre> |
166 | 1 | Gilles Grandgérard | |
167 | 3 | Gilles Grandgérard | h2. Ajout de la gateway dans le fichier ModulesConf.yaml |
168 | 3 | Gilles Grandgérard | |
169 | 3 | Gilles Grandgérard | il faut créer une entré dans "gateways" de la forme |
170 | 3 | Gilles Grandgérard | <pre> |
171 | 3 | Gilles Grandgérard | - user: gilles |
172 | 3 | Gilles Grandgérard | prefixe: ggg |
173 | 3 | Gilles Grandgérard | ipsweole: 82 |
174 | 3 | Gilles Grandgérard | </pre> |
175 | 3 | Gilles Grandgérard | |
176 | 3 | Gilles Grandgérard | * Le prefixe sera ajouter à tous les templates, et à toutes les VM démarrées. |
177 | 3 | Gilles Grandgérard | Les switchs auront la forme SW-<prefixe>-<switch_dans_modele> |
178 | 1 | Gilles Grandgérard | * ipsweole est l'ip a utilisr dans 192.168.230 comme gateway vers le réseau |
179 | 1 | Gilles Grandgérard | |
180 | 4 | Gilles Grandgérard | h2. Ajout de la clef publique ssh dans eole-ci-tests/security/authorized_keys |
181 | 1 | Gilles Grandgérard | |
182 | 4 | Gilles Grandgérard | Les clefs publiques SSH preentent dans eole-ci-tests/security/authorized_keys sont automatiquement concatenées dans /root/.ssh/authorized_keys au 1er démarrage de la VM. |
183 | 4 | Gilles Grandgérard | L'acces a chaque VM peut se faire sans mot de passe. |
184 | 4 | Gilles Grandgérard | |
185 | 4 | Gilles Grandgérard | Utiliser le nom 'user@hostname' pour votre fichier de cle. |
186 | 3 | Gilles Grandgérard | |
187 | 1 | Gilles Grandgérard | h1. Creation d'un test |
188 | 1 | Gilles Grandgérard | |
189 | 3 | Gilles Grandgérard | todo |
190 | 3 | Gilles Grandgérard | |
191 | 1 | Gilles Grandgérard | h1. Lancement dans jenkins |
192 | 3 | Gilles Grandgérard | |
193 | 3 | Gilles Grandgérard | h2. Mise à jour de "eole-ci-tests" sur toutes les VM |
194 | 3 | Gilles Grandgérard | |
195 | 3 | Gilles Grandgérard | todo |
196 | 1 | Gilles Grandgérard | |
197 | 1 | Gilles Grandgérard | h2. |