Comment ajouter un test générant une image¶
Ici, nous allons ajouter un test qui sera lancé automatiquement par Jenkins, dont le résultat sera une image et un template dans OpenNebula
Pré requis¶
- avoir créer ModeleReseauYaml
Récupération du dépot eole-ci-tests¶
1 2 | cd (Dépots)
git clone https://dev-eole.ac-dijon.fr/git/eole-ci-tests.git
|
Créer un fichier ‘eolebase-nodejs.yaml’¶
1 2 | cd (Dépots)/eole-ci-tests/tests/eolebase
vi eolebase-nodejs.yaml
|
Puis saisir :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | genereImage: aca.eolebasedhcp-{VERSION}-instance-Nodejs-{ARCHITECTURE}.vm
frequence: if version DEV then daily else manuel
contrainte: architecture is amd64 and version > 2.6.0
contexts:
- machine: aca.eolebasedhcp
methode: daily
tests:
- nom: gen-install-tools-nodejs
commandes:
- run: install-tools-nodejs.sh
- automate: shutdownWithSnapshot
- automate: updateTemplate
|
Dans cet exemple, nous aurons besoin d’une machine ‘aca.eolebasedhcp’ (voir modele reseau) avec l’image non instanciée mais actualisée. Lorsque la machine sera démarrée, le test ‘gen-install-tools-nodejs’ sera executé. La commande install-tools-nodejs.sh sera executée sur la machine (install-tools-nodejs.sh est un script dans le répertoire ‘scripts’ du dépot eole-ci-tests) Si l’execution est correcte, alors l’automate va arreter la machine et sauvegarder l’image puis créer le template qui permet de lancer cette machine.
Description d’un fichier de Test Yaml¶
la partie globale¶
Les tags sont:
- genereImage: permet de définir le nom utiliser pour l’image. Le template a le même nom sans l’extension ‘.vm’
- frequence: exprime la condition sur la frequence d’execution du test. Si la version est en DEV alors tous les jours, sinon manuel
- contrainte: exprime la condition sur la validité du test. pour executer ce test, il faut que l’architecture soit ‘amd64’ et que la version soit 2.6.1 ou plus
le contexte¶
Les tags sont :
- machine: Le nom de la machine dans le modele de reseau (default=modele)
- modele: Le modele de la machine.
- methode: methode de configuration de la VM.
- configuration: le nom de la configuration
- base: identifie l’image de base de la VM (permet de selectionner une version particuliere !)
- cdrom: si ‘eole’ ==> l’image de la distribution est utilisée en 2nd disque
- memoire: The memoire a utiliser pour cette VM
- passive: (non) oui ==> la machine est “passive”.
- setUp: liste des commandes à executer pour préparer la machine
- utiliseDerniereStableSiBesoin: The utilise derniere stable si besoin.