Mettre en place une nouvelle image EOLE

Comprendre la description du fichier ModuleEole.yaml [[ModeleReseauxYaml]]

Les étapes :

  1. rendre disponible l’ISO sur le site de diffusion ‘eole.ac-dijon.fr’ et récupérer l’url
  2. déclarer dans (eole-ci-tests)/ModuleEole.yaml la nouvelle version ou la mettre à jour
  3. commit et push dans le dépot
  4. sur https://dev-eole.ac-dijon.fr/jenkins, lancer ‘pipeline-update-jenkins’ (c’est un peu long !)
  5. 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)
  6. 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:

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