Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 10

Gilles Grandgérard, 21/05/2014 18:00

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