Projet

Général

Profil

Automatisation » Historique » Version 17

Daniel Dehennin, 14/04/2021 16:12

1 2 Daniel Dehennin
{{>toc}}
2 2 Daniel Dehennin
3 1 Gilles Grandgérard
h1. Automatisation
4 1 Gilles Grandgérard
5 15 Daniel Dehennin
Dans le cas de l'utilisation d'un serveur Hapy, l'utilisateur doit créer ses machines virtuelles *manuellement* comme expliqué dans un "article de blog":https://pcll.ac-dijon.fr/eole/utiliser-hapy-virtualiser-modules-eole/.
6 1 Gilles Grandgérard
7 2 Daniel Dehennin
L'idée est de pouvoir proposer une *automatisation* de ce type de déploiement.
8 1 Gilles Grandgérard
9 3 Daniel Dehennin
À la suite de l'étude faite par Cadoles :
10 1 Gilles Grandgérard
11 1 Gilles Grandgérard
* Nous imposons l'utilisation d'un Zéphir
12 16 Daniel Dehennin
* Les utilisateurs téléchargerons des images pré-crées et distribués par un "marketplace":https://docs.opennebula.io/6.0/management_and_operations/storage_management/marketplaces.html#public-marketplaces à installer "nous même":https://github.com/OpenNebula/appmarket-simple
13 2 Daniel Dehennin
* Nous ne proposons pas de modèle d'infrastructure (Amon + Scribe, Amon + Seth AD + Seth filer, ...) (l'idée serait à travailler plus tard)
14 15 Daniel Dehennin
* Nous proposerons ultérieurement un outillage pour que les utilisateurs puissent créer leurs propres images (l’outillage Cadoles peut être une solution à ce propos)
15 1 Gilles Grandgérard
16 2 Daniel Dehennin
h1. Pré requis pour utiliser cette fonctionnalité
17 1 Gilles Grandgérard
18 2 Daniel Dehennin
* Avoir un Zéphir pour manager les Hâpy et les VM installées sur ces Hâpy
19 2 Daniel Dehennin
* Avoir au moins un Hâpy instancié et configuré.
20 11 Gilles Grandgérard
* l'accès vers le dépôt des images Eole/Hâpy doit être possible (proxy,...) (et le dépot préparé) 
21 1 Gilles Grandgérard
* Les images devront être Cloudifiées (cloud-init ou one-context). Voir #32118
22 1 Gilles Grandgérard
23 1 Gilles Grandgérard
24 1 Gilles Grandgérard
h1. Exigences de fonctionnement
25 1 Gilles Grandgérard
26 1 Gilles Grandgérard
* Toutes les VM *managées* utilisent des images persistantes
27 1 Gilles Grandgérard
* Toutes les VM sont enregistrées sur Zéphir
28 1 Gilles Grandgérard
* Si la VM existe déjà sur l'Hapy, on ne la recrée pas (attention: seul le template peut être actualisé)
29 1 Gilles Grandgérard
30 15 Daniel Dehennin
h1. Cas d’usage
31 15 Daniel Dehennin
32 15 Daniel Dehennin
Nous partons du principe qu’un ensemble d’établissement partagent les mêmes caractéristiques :
33 1 Gilles Grandgérard
34 17 Daniel Dehennin
* même topologie réseau: internet, admin, pédago et dmz
35 15 Daniel Dehennin
* même caractéristiques de machine virtuelle (par exemple tous les amons ont la même quantité de RAM)
36 15 Daniel Dehennin
37 15 Daniel Dehennin
Le processus global se résume ainsi :
38 15 Daniel Dehennin
39 15 Daniel Dehennin
# Sur le serveur Zéphir
40 15 Daniel Dehennin
## Créer une variante Hâpy pour pré-définir la liste des réseaux virtuels (les adresses IP et autres devront être remplies à la main lors de la configuration de chaque Hâpy)
41 15 Daniel Dehennin
## Créer une variante pour Amon afin de définir les paramètres communs de machines virtuelles (RAM, taille de disque, etc)
42 15 Daniel Dehennin
## Créer une variante pour Scribe afin de définir les paramètres communs de machines virtuelles (RAM, taille de disque, etc)
43 15 Daniel Dehennin
## Pour chaque établissement
44 15 Daniel Dehennin
### Le créer s’il n’existe pas
45 15 Daniel Dehennin
### Créer le serveur Amon de la bonne variante et finir sa configuration
46 15 Daniel Dehennin
### Créer le serveur Scribe de la bonne variante et finir sa configuration
47 15 Daniel Dehennin
### Créer le serveur Hâpy de la bonne variante et finir sa configuration avec notamment la liste des serveurs créé précédemment à déployer
48 15 Daniel Dehennin
# Dans chaque établissement
49 15 Daniel Dehennin
## Installer physiquement le serveur Hâpy
50 15 Daniel Dehennin
## Installer le module EOLE
51 15 Daniel Dehennin
## Enregistrer le serveur Hâpy sur Zéphir
52 15 Daniel Dehennin
## Instancier
53 15 Daniel Dehennin
54 2 Daniel Dehennin
h1. Comment fonctionne l'automatisation
55 1 Gilles Grandgérard
56 1 Gilles Grandgérard
h2. Il faut créer la configuration des VM dans Zéphir (dont les caractéristiques de la VM)
57 1 Gilles Grandgérard
58 6 Daniel Dehennin
Voir #32117
59 4 Gilles Grandgérard
60 7 Daniel Dehennin
(si le paquet *@eole-modele-vm@* n'est pas installé, faire *@apt-eole install eole-modele-vm@*)
61 1 Gilles Grandgérard
62 2 Daniel Dehennin
Pour cela, vous devez *activer_modele_vm*. Renseigner les variables suivantes :
63 1 Gilles Grandgérard
64 2 Daniel Dehennin
* mémoire     : la mémoire en Go (par defaut : la préconisation EOLE pour le module)
65 2 Daniel Dehennin
* vcpu        : 
66 2 Daniel Dehennin
* Disque Os   : nom du disque OS de la VM (par défaut: *@<eole-module>-<eole-release>@*) + Taille
67 2 Daniel Dehennin
* Disque Data : nom du disque Data + Taille
68 2 Daniel Dehennin
* Interface 1 : nom du réseau déclaré sur Hapy
69 2 Daniel Dehennin
* Interface 2 : nom du réseau déclaré sur Hapy
70 2 Daniel Dehennin
* Interface 3 : nom du réseau déclaré sur Hapy
71 1 Gilles Grandgérard
* Interface X : nom du réseau déclaré sur Hapy
72 1 Gilles Grandgérard
73 1 Gilles Grandgérard
Ceci peut être fait lors de la création des variantes et la création des serveurs. Ce travail reste manuel.
74 8 Daniel Dehennin
75 8 Daniel Dehennin
76 8 Daniel Dehennin
DaD:
77 8 Daniel Dehennin
* Je pense qu’au lieu d’avoir *@Disque OS@* et *@Disque Data@* il faudrait une liste ordonnée de disque (*@nom de l’image@* + *@taille de l’image@* + *@bootable ?@*)
78 10 Gilles Grandgérard
79 1 Gilles Grandgérard
h2. Dans la configuration de l'Hapy,
80 10 Gilles Grandgérard
81 10 Gilles Grandgérard
Voir #32118
82 10 Gilles Grandgérard
83 10 Gilles Grandgérard
Activer *activer_deploiement_automatique*
84 1 Gilles Grandgérard
Saisir la liste des VMs :
85 1 Gilles Grandgérard
86 2 Daniel Dehennin
* Renseigner les Id Zéphir des serveurs devant être déployées sur cet Hapy (id zéphir ou nom de la vm ?)
87 2 Daniel Dehennin
* La liste est ordonnée : les VM sont démarrée dans cette ordre.
88 2 Daniel Dehennin
89 1 Gilles Grandgérard
RQ: il n'y a pas de contrôle entre la liste des Interfaces déclarées sur Hapy et les Interfaces venant des configurations de VM.
90 1 Gilles Grandgérard
91 2 Daniel Dehennin
h2. Depuis Zéphir, appliquer la configuration sur le serveur Hâpy
92 1 Gilles Grandgérard
93 2 Daniel Dehennin
* La nouvelle configuration est déployé sur la machine Hapy
94 2 Daniel Dehennin
* Le reconfigure est exécuté
95 2 Daniel Dehennin
* les VM vont être installées, instanciées et prêtes à l'usage dans l'ordre de déclaration de la liste des VM
96 1 Gilles Grandgérard
97 15 Daniel Dehennin
h1. Procédure postservice hapy
98 1 Gilles Grandgérard
99 2 Daniel Dehennin
La création des interfaces aura été faite lors de l’instance/reconfigure de l'Hapy.
100 1 Gilles Grandgérard
Idem pour les datastores....
101 1 Gilles Grandgérard
Idem pour la déclaration du marketplace EOLE/Hapy
102 1 Gilles Grandgérard
103 14 Gilles Grandgérard
Voir postservice : #32120
104 14 Gilles Grandgérard
Voir diagnose : #32123
105 12 Gilles Grandgérard
106 2 Daniel Dehennin
# Si *@activer_deploiement_automatique@* = *@non@*, stop
107 2 Daniel Dehennin
# Pour chaque *@IdZéphir@*
108 2 Daniel Dehennin
## récupérer toute la configuration de la VM dans un *@tar.gz@*
109 2 Daniel Dehennin
### Vérifier la cohérence des informations Hapy/VMs. Si échec, alors on s'arrête en erreur
110 2 Daniel Dehennin
## créer/mettre à jour un FILE dans hapy pour chaque configuration de VM 
111 2 Daniel Dehennin
## télécharger les images Apps sur l'Hapy
112 2 Daniel Dehennin
## créer les images nécessaires Os (et Data si besoin)
113 2 Daniel Dehennin
## Créer/mettre à jour un TEMPLATE (Avec une contextualisation active, +Le fichier de Configuration, +Le script de post installation)
114 2 Daniel Dehennin
## Démarrer la VM
115 2 Daniel Dehennin
## Si l'instance n'est pas faite: 
116 2 Daniel Dehennin
*** réponse aux questions de façon automatique
117 2 Daniel Dehennin
*** gestion des secrets
118 1 Gilles Grandgérard
## Monitorer la fin d'instance avant de passer à la suivante.