Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 21

Version 20 (Gilles Grandgérard, 07/07/2014 09:27) → Version 21/97 (Gilles Grandgérard, 07/07/2014 16:40)

h1. Avant Propos

h2. OpenNebula et Eole-Ci-Tests

h3. 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 :
<pre>
RAW=[TYPE="kvm",DATA="<devices><filesystem type='mount' accessmode='squash'><source dir='/var/lib/one/datastores/eole-ci'/><target dir='eole-ci'/></filesystem></devices>" ]
</pre>

Une fois la machine instanciée, pour monter le partage il faut executer :
<pre>
mkdir /mnt/eole-ci-tests
mount -t 9p -o trans=virtio eole-ci /mnt/eole-ci-tests -oversion=9p2000.L
</pre>

Pour installer le service 'eole-ci-tests', executer
<pre>
/mnt/eole-ci-tests/scripts/postinstall/postinstall.sh <vm_nebula_id>
</pre>

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

h3. 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é
<pre>
NAME = "etb2.amon" "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="academie" NETWORK="SW-ggg-academie", NETWORK_UNAME="gilles" ]
NIC = [ MODEL="virtio", NETWORK="admin2" NETWORK="SW-ggg-admin2", NETWORK_UNAME="gilles" ]
NIC = [ MODEL="virtio", NETWORK="pedago2" NETWORK="SW-ggg-pedago2", NETWORK_UNAME="gilles" ]
NIC = [ MODEL="virtio", NETWORK="dmz2" NETWORK="SW-ggg-dmz2", NETWORK_UNAME="gilles" ]
CONTEXT = [ VM_ID="$VMID", VM_OWNER="$UNAME", VM_HOSTNAME="amon", VM_MACHINE="etb2.amon", VM_TEMPLATE="etb2.amon", VM_TEMPLATE="ggg.etb2.amon", VM_USER="ggg" ]
</pre>

h2. Le modele de réseau

h1. Installation

h2. Récupération du dépot eole-ci-test

Faire :
<pre>
ssh://git@dev-eole.ac-dijon.fr/eole-ci-tests.git
</pre>

h2. Ajout de la gateway dans le fichier ModulesConf.yaml

il faut créer une entré dans "gateways" de la forme
<pre>
- user: gilles
prefixe: ggg
ipsweole: 82
</pre>

* 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

h2. 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.

h1. Creation d'un test

todo

h1. Lancement dans jenkins

h2. Mise à jour de "eole-ci-tests" sur toutes les VM

todo

h2.