Installation Gateway dans nebula » Historique » Version 24
Version 23 (Gilles Grandgérard, 15/07/2014 12:01) → Version 24/97 (Gilles Grandgérard, 15/07/2014 14:55)
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"
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" ]
NIC = [ MODEL="virtio", NETWORK="admin2" ]
NIC = [ MODEL="virtio", NETWORK="pedago2" ]
NIC = [ MODEL="virtio", NETWORK="dmz2" ]
CONTEXT = [ VM_ID="$VMID", VM_OWNER="$UNAME", VM_HOSTNAME="amon", VM_MACHINE="etb2.amon", VM_TEMPLATE="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 eole-ci-tests
il faut créer un script dans 'configuration/gateway/' dont le nom sera 'routeur_<user_ebula>.sh'.
Penser à mettre les droits d'execution.
<pre>
IP_EOLE=<fin de l'Ip sur le reseau EOLE>
</pre>
(voir : http://dev-eole.ac-dijon.fr/projects/eole-interne/wiki/Adressage_ip )
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.
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"
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" ]
NIC = [ MODEL="virtio", NETWORK="admin2" ]
NIC = [ MODEL="virtio", NETWORK="pedago2" ]
NIC = [ MODEL="virtio", NETWORK="dmz2" ]
CONTEXT = [ VM_ID="$VMID", VM_OWNER="$UNAME", VM_HOSTNAME="amon", VM_MACHINE="etb2.amon", VM_TEMPLATE="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 eole-ci-tests
il faut créer un script dans 'configuration/gateway/' dont le nom sera 'routeur_<user_ebula>.sh'.
Penser à mettre les droits d'execution.
<pre>
IP_EOLE=<fin de l'Ip sur le reseau EOLE>
</pre>
(voir : http://dev-eole.ac-dijon.fr/projects/eole-interne/wiki/Adressage_ip )
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.