5.20. Nettoyage d’un environnement

Un playbook ansible de nettoyage d’un environnement est fourni et permet de purger un environnement afin de le réinitialiser à son état presque initial.

Le nettoyage d’un environnement s’effectue selon la procédure suivante :

  • Exécuter la commande suivante afin de nettoyer l’environnement (offres de stockage, workspace et bases de données) :

    ansible-playbook -i environments/<hosts> ansible-vitam-exploitation/cleaning.yml --ask-vault-pass
    

En détails, le nettoyage d’un environnement va exécuter la liste des actions suivantes :

  1. Arrêt des modules externes, afin que Vitam ne puisse plus accepter de demandes provenant de l’extérieur.
  2. Purge des collections MongoDB : LogbookLifeCycleObjectGroup, LogbookLifeCycleObjectGroupInProcess, LogbookLifeCycleUnit, LogbookLifeCycleUnitInProcess, LogbookOperation, AccessionRegisterDetail, AccessionRegisterSummary, AccessionRegisterSymbolic, ObjectGroup, Unit, EliminationActionObjectGroup, EliminationActionUnit, PreservationReport.
  3. Réindexation des collections à indexer et purgées en phase 2 : le but étant d’obtenir en fin de traitement des indexes vides (ne contenant aucun document).
  • LogbookOperation, ObjectGroup & Unit : une réindexation sera effectuée pour chaque tenant configuré (ex : unit_0_20190130_104530, unit_1_20190130_104540, etc…).
  • AccessionRegisterDetail, AccessionRegisterSummary, AccessionRegisterSymbolic : 3 nouveaux indexes seront créés au total pour les 3 collections (ex : accessionregistersymbolic_20190121_133507, accessionregistersummary_20190121_133503 & accessionregisterdetail_20190121_133505)
  1. Nettoyage des offres de stockage. Selon la configuration de l’environnement, le script est en charge de nettoyer chaque offre de stockage configurée :
  • Pour chaque tenant configuré dans Vitam, le script va supprimer tous les sous-containers ainsi que leurs contenus exceptés : « backup » (contenant les référentiels intégrés dans Vitam) et « rules ».
  • Pour l’offre File-System, chaque sous-containers supprimé et vidés de son contenu, sera recréé à vide (ex : int_0_accessionregisterdetail)
  1. Nettoyage du workspace : le contenu des objets contenus dans le workspace sera purgé également.

Avertissement

Pour le moment, seules les offres de stockage S3 et File-System sont prises en compte dans la purge des offres de stockage. Les offres Swift ne font encore pas partie du scope de VITAM.

Avertissement

Cette opération provoque une indisponibilité complète de VITAM

5.20.1. Etat des lieux après purge

Après le passage du script, l’environnement est purgé :

  • Les référentiels sont toujours présents (Contrats d’accès, contrats d’entrée, rêgles de gestion, etc…).
  • L’environnement est disponible et utilisable : les modules externes sont accessibles (IngestExternal et AccessExternal).
  • Les offres de stockage sont vidées, à l’exception des backups des référentiels.
  • La cohérence entre MongoDB et ElasticSearch est assurée. La plupart des collections sont vidées, et les indexes E/S associés ne contiennent aucun document.
  • Le workspace est purgé, aucune opération n’est en cours et ne peut être relancée.

5.20.2. Limitations

Le fait de purger les journaux et non les référentiels provoquera une incohérence de la plate-forme vis-à-vis de la norme NFZ-42020 (suppression des logs d’imports de référentiels, mais présence de ceux-ci).

Pour le moment, les offres de stockage de type Swift ne sont prises en compte dans le nettoyage d’un environnement. Si le script est lancé dans un environnement configuré avec une (ou plusieurs) offre de stockage de type Swift, alors l’offre ne sera pas nettoyée.