Installation Gateway dans nebula » Historique » Version 17
« Précédent -
Version 17/97
(diff) -
Suivant » -
Version actuelle
Daniel Dehennin, 02/07/2014 11:21
Avant Propos¶
OpenNebula et Eole-Ci-Tests¶
Ajouter le partage 'eole-ci-tests' sur une VM¶
Si vous avez besoin de monter 'eole-ci-tests' sur une VM, il faut ajouter une ligne RAW dans la configuration du modèle :
RAW=[TYPE="kvm",DATA="<devices><filesystem type='mount' accessmode='squash'><source dir='/var/lib/one/datastores/eole-ci'/><target dir='eole-ci'/></filesystem></devices>" ]
Une fois la machine instanciée, pour monter le partage il faut executer :
mkdir /mnt/eole-ci-tests mount -t 9p -o trans=virtio eole-ci /mnt/eole-ci-tests -oversion=9p2000.L
Pour installer le service 'eole-ci-tests', executer
/mnt/eole-ci-tests/scripts/postinstall/postinstall.sh <vm_nebula_id>
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
Exemple de propriété d'une VM dans Nebula¶
- Exemple de template utilisé dans Nebula pour la machine Amon de l'établissement Etb2 pour l'utilisateur Ggg
La selection de l'image (version et architecture) est automatisé. Le UNAME est selectionné automatiquement
L'architecture réseau les switchs générés d'après le modele
Le context est généréNAME = "ggg.etb2.amon" CPU = "0.05" MEMORY = "512" VCPU = "1" FEATURES = [ acpi="yes", pae="no" ] GRAPHICS = [ KEYMAP="fr", LISTEN="0.0.0.0", TYPE="vnc" ] INPUT = [ BUS="usb", TYPE="tablet" ] RAW = [ TYPE="kvm", DATA="<devices><filesystem type='mount' accessmode='squash'><source dir='/var/lib/one/datastores/eole-ci'/><target dir='eole-ci'/></filesystem></devices>" ] DISK = [ DRIVER="qcow2", IMAGE="amon-2.4-daily-amd64.fi", IMAGE_UNAME="gilles" ] OS = [ ARCH="x86_64", BOOT="hd" ] NIC = [ MODEL="virtio", NETWORK="SW-ggg-academie", NETWORK_UNAME="gilles" ] NIC = [ MODEL="virtio", NETWORK="SW-ggg-admin2", NETWORK_UNAME="gilles" ] NIC = [ MODEL="virtio", NETWORK="SW-ggg-pedago2", NETWORK_UNAME="gilles" ] NIC = [ MODEL="virtio", NETWORK="SW-ggg-dmz2", NETWORK_UNAME="gilles" ] CONTEXT = [ VM_ID="$VMID", VM_HOSTNAME="amon", VM_MACHINE="etb2.amon", VM_TEMPLATE="ggg.etb2.amon", VM_USER="ggg" ]
Le modele de réseau¶
Modèle de réseau de test pour les VM Nebula¶
source:ModeleReseauTestEole.png
Les fichiers de configuration¶
- ModulesConf.yaml
Il est utilisé pour :
- générer les context de chaque modele de VM
- générer les fresh install eole ( <module>-<version>-<architecure>.fi dans nebula )
- générer les daily ( <module>-<versionMajer>-daily-<architecure>.fi dans nebula )
eoleVersions: # liste des numéros de version géré dans l'env de test
- 2.3.13-rc1
- 2.4.0
gateways: # liste des gateways par utilisateur Nebula
- user: gilles # le nom de l'utilisateur Nebula
prefixe: ggg # le prefixe a utilisé pour les templates, switchs, et vm
ipsweole: 82 # l'adresse ip sur le réseau sw-eole
modules: # La liste des modules connus
- module: base # le nom du module dans les modeles
memoire: 1024 # permet de définir la mémoire requise pour ce module
versions: # la liste des versions de ce module
- versionMajeur: 2.3 # dans la version 2.3..
menu: 1 # ... le module est en position 1 sur le menu d'installation
actif: oui # indique que le module est déactivé dans les tests
container: non # permet d'indiquer aux tests qu'il faut faire l'installation des conteneurs ou non
- versionMajeur: 2.4 ...
menu: 1
- ModeleReseautestEole.yaml
Il est utilisé pour :
- générer les context de chaque modele de VM
- générer les templates de chaque machine
- démarrer les VM lors des tests en Itégration Continue
bases:
- base: eole23 # nom de la base utiliser dans la description d'une machine (cf ci dessous )
versionMajeur: 2.3 # quel est la version majeur a utiliser. La version mineur sera déduite du fichier ModulesConf.yaml
- base: winpcadmin
imageNebula: windows-xp-sp3.vm # si imageNebula est presente, alors la base n'est pas EOLE ==> windows ou autre
architecture: amd64 # dans ce cas, l'architecture doit être définie
#....
switchs: # c'est la liste des switchs nécessaire à ce modele
- sw: academie # c'est l'id du switch . dans Nebula, il correspond à "SW-<pefixe>-academie"
network: 192.168.0 # c'est le réseau associé à ce switch
#....
networks: # ce tag est la racine de description de tous les établissements
- etablissement: aca # ce tag correspond à un etablissement dont le nom est 'aca'. Toutes les machines définies sous l'établissement seront
# préfixées par <prefixe_user>.<etablissement>
machines: # c'est la liste des machines
- machine: eolebase # chaque machine a : un nom (eolebase).
# le template de cette machine sera <prefixe_user>.<etablissement>.<machine> (ggg.aca.eolebase)
# le nom dns sera : <machine>.<etablissement>@ac-test.fr pour les etablissement et
# <machine>@ac-test.fr pour les machines en académie
# Ce nom est important car il va définir un template dans les configurations enregistrées dans eole-ci-test
module: base # c'est le nom du module (cf ModulesConf.yaml). La valeur est obligatoire pour les modules Eole
base: eole24 # identifie l'image de base à utiliser eole23, eole24, win...
switchs: # ce tag décris les liens de la machine
- sw: academie # le nom du switch
host: 24 # l'ip sur ce switch
#....
- machine: sphynx24a
module: sphynx
base: eole24
switchs: # exemple avec plusieurs switchs
- sw: academie
host: 11
- sw: agriates
host: 11
- sw: ha1
host: 11
#....
- machine: pcadmin # exemple pour un poste client
base: winpcadmin
switchs:
- sw: admin1
host: 20
#....
- test.yaml
todo
Installation¶
Récupération du dépot eole-ci-test¶
Faire :
ssh://git@dev-eole.ac-dijon.fr/eole-ci-tests.git
Ajout de la gateway dans le fichier ModulesConf.yaml¶
il faut créer une entré dans "gateways" de la forme
- user: gilles prefixe: ggg ipsweole: 82
- Le prefixe sera ajouter à tous les templates, et à toutes les VM démarrées.
Les switchs auront la forme SW-<prefixe>-<switch_dans_modele> - ipsweole est l'ip a utilisr dans 192.168.230 comme gateway vers le réseau
Ajout de la clef publique ssh dans eole-ci-tests/security/authorized_keys¶
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.
L'acces a chaque VM peut se faire sans mot de passe.
Utiliser le nom 'user@hostname' pour votre fichier de cle.
Creation d'un test¶
todo
Lancement dans jenkins¶
Mise à jour de "eole-ci-tests" sur toutes les VM¶
todo
h2.