Mettre en place une nouvelle image EOLE¶
Comprendre la description du fichier ModuleEole.yaml [[ModeleReseauxYaml]]
Les étapes :
- rendre disponible l’ISO sur le site de diffusion ‘eole.ac-dijon.fr’ et récupérer l’url
- déclarer dans (eole-ci-tests)/ModuleEole.yaml la nouvelle version ou la mettre à jour
- commit et push dans le dépot
- sur https://dev-eole.ac-dijon.fr/jenkins, lancer ‘pipeline-update-jenkins’ (c’est un peu long !)
- Aller dans le dossier de la version, puis dans le bon onglet (production, publiée ou dev) et lancer les jobs ‘iso-<version>-amd64’ et ‘iso-<version>-i386’ ( 4 minutes chacun, doivent être Vert)
- Lancer un job de création de freshinstall ‘fi-base-<version>-amd64’ pour tester l’installation d’un eolebase
Rendre disponible l’ISO¶
Rendre disponible l’ISO sur le site de diffusion ‘eole.ac-dijon.fr’ Si vous tester une image ‘daily’, il faut récupérer l’url. Dans les autres cas, le job va calculer l’url
Déclarer dans ModuleEole.yaml¶
Récupération du dépot eole-ci-tests¶
1 | git clone https://dev-eole.ac-dijon.fr/git/eole-ci-tests.git
|
Récupération du dépot eole-ci-tests¶
Modifier le fichier ModulesEole.yaml, ajouter ou corriger l’entrée :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | eoleVersions:
...
- versionMajeur: "2.7.1"
version: "2.7.1-beta3"
architectures: [ amd64 ]
genereFreshInstall: oui
genereDaily: non
frequenceDaily: manuel
frequenceTest: manuel
usePersistentImageForDaily: oui
majAuto: DEV
sources:
- name: "eole"
url: "http://test-eole.ac-dijon.fr/pub/iso/devel/2.7/releases/2.7.2/eole-2.7.2-alternate-amd64.iso"
distributionVersion: "18.04"
distributionNom: "bionic"
freshInstallFromDistribution: non
repertoireTemplates: "2.5"
modulesVersion:
- module: amon
memoire: 3072
menu: 1
modules:
- module: base
nomHostApresReboot: eolebase
memoire: 1024
- module: amon
memoire: 2048
- module: amonecole
memoire: 4096
tailleDisque: 100
container: oui
|
ATTENTION :
- le tag ‘version’ doit être changé dans tous les cas !
- le tag majAuto doit être cohérent ! Il permet de définir les options des commandes Maj-Auto
- l’Url est facultative si l’image est une officielle (l’url est recalculée)
Commit¶
1 2 | git commit -am "bascule <version> ..."
git push
|
Mettre à jour Jenkins (durée : entre 2 et 3 minutes)¶
Nous allons mettre à jour le VirtFs /mnt/eole-ci-tests sur TOUTES les machines VM, et les Jobs Jenkins. Si de nouveaux Jobs doivent être crées, ils apparaîtront à la fin du build
Faire:
- Ouvrir votre navigateur, et Aller https://dev-eole.ac-dijon.fr/jenkins
- Se connecter
- aller https://dev-eole.ac-dijon.fr/jenkins/job/Internes/job/pipeline-update-jenkins/build?delay=0sec
- Cliquer sur Build
- Dans “historique des builds” un build apparaît. Cliquer sur le lien
- Cliquer ensuite sur le lien ‘Console Output’
- Le texte affiche la sortie standard du processus de création des réseaux virtuels, la ligne suivante indique que c’est terminé : Finished: SUCCESS
Tester ISO (durée : entre 3 et 4 minutes)¶
lancer les jobs ‘iso-<eole-version>-amd64’ et ‘iso-<eole-version>-i386’ (4 minutes chacun, doivent être Vert)
Faire:
- Ouvrir votre navigateur, et Aller https://dev-eole.ac-dijon.fr/jenkins/
- Dans le dossier de la version, et l’un des onglets contient le dossier ‘00 : Check ISO’
- Cliquer sur le disque avec la fleche Verte à coté du job ‘iso-<eole-version>-amd64’
- Cliquer sur le disque avec la fleche Verte à coté du job ‘iso-<eole-version>-i386’ si i386 est actif
- Attendre 5 minutes
- aller voir le résultat
Tester une fresh install (durée : entre 25 et 30 minutes pour les fi-base)¶
lancer le job ‘fi-base-<eole-version>-amd64’. dans certain cas, vous allez avoir une nouvelle image Splash Screen. Dans ce cas, il faut vérifier que le Job détecte bien le nouveau splash screen
Faire:
- Ouvrir votre navigateur, et Aller https://dev-eole.ac-dijon.fr/jenkins
- Dans le dossier de la version, et l’un des onglets contient le dossier ‘10 : FreshInstall’
- Cliquer sur le disque avec la flèche Verte à coté du job ‘fi-base-<eole-version>-amd64’
- aller voir le résultat dans ‘Console Output’
Dans one.eole.lan, la machine est ‘<module>-<version>-<architecture>.fi’ ex scribe-2.4.2-alpha2-amd64.fi
NB : le job run-all-jobs-with-pattern permet de lancer la génération de tous les modules (Attention : avec le bon filtre !).
Générer les templates issus des ‘.fi’ générés¶
lancer le job ‘update-templates-nebula’
Faire:
- Ouvrir votre navigateur, et Aller https://dev-eole.ac-dijon.fr/jenkins
- Dans l’onglet ‘Infra, le dossier Internes et l’onglet ‘Quotidien’
- Sélectionner le projet update-templates-nebula et ‘Lancer un build’
- Attendre 5 minutes
- aller voir le résultat
Nettoyer les images inutiles sur le ONE ou DEMO¶
Supprimer :
- les ISO
- les FI
- les daily
- toutes les images de la version précédente
- les templates
Actions à réaliser sur le code¶
- Mettre à jour /scripts/monitor3/monitor_eole_ci4.py
** Ligne de commande Maj-Auto ** Ligne de commande Upgrade-Auto ** Ligne de commande Maj-Release
- Executer ‘GenereHosts’ qui va créer :
** une copie de chaque configuration ‘default’ de la dernière version vers la nouvelle ** une copie de chaque configuration ‘default’ de la dernière version vers la nouvelle
- Commiter les nouveaux fichiers de configuration
- Toutes les autres configurations ‘non default’ doivent être copiée à la main...
- dans le cas d’Hapy, penser à la variable hapy_init_master_iso_version qui doit être renseignée à la version précédente. De même, sur les configurations des versions précédentes
- Commiter les nouveaux fichiers de configuration