Interruption / maintenance
##########################


Procédure d'arrêt complet
==========================

Un playbook ansible d'arrêt complet de la solution logicielle :term:`VITAM` est fourni, sous ``deployment/ansible-vitam-exploitation/stop_vitam.yml``, pour réaliser de façon automatisée les actions nécessaires. Ce playbook arrête aussi les timers systemD associés aux composants :term:`VITAM`.

.. warning:: Ce script, en l'état, permet un `EMERGENCY BREAK`, autrement dit un arrêt brutal des composants, ne permettant pas de garantir, à l'issue, une cohérence des données. Il est donc fortement recommandé de positionner les traitements courants en pause avant de lancer la procédure d'arrêt.

.. note:: Une confirmation est demandée pour lancer ce script d'arrêt de la solution logicielle VITAM. Cette confirmation peut être automatisée en utilisant les extra-vars d'ansible ``-e "confirmation=yes"``

Procédure de démarrage complet
==============================

Les machines hébergeant la solution logicielle :term:`VITAM` doivent être allumées et en état de fonctionnement pour exécuter cette procédure.

Un playbook ansible de démarrage complet de la solution logicielle :term:`VITAM` est fourni, sous ``deployment/ansible-vitam-exploitation/start_vitam.yml``, pour réaliser de façon automatisée les actions nécessaires. Ce playbook démarre aussi les timers systemD associés aux composants :term:`VITAM`.

Procédure de statut
===================

Un playbook ansible est fourni, sous ``deployment/ansible-vitam-exploitation/status_vitam.yml``, pour réaliser de façon automatisée les "autotest" intégrés dans la solution logicielle :term:`VITAM`.

Autres cas
==========

Procédure de maintenance / indisponibilité de VITAM
---------------------------------------------------

Deux playbooks ansible sont fournis dans ``deployment/ansible-vitam-exploitation`` :

- ``stop_external.yml`` : permettant d'arrêter uniquement les composants :term:`VITAM` **ingest-external** et **access-external**
- ``start_external.yml`` : permettant de démarrer uniquement les composants :term:`VITAM` **ingest-external** et **access-external**

Ces playbooks permettent d'empêcher l'accès à la solution logicielle :term:`VITAM` par les services versants, tout en laissant opérationnel le reste de la solution logicielle. Ils peuvent être utiles, voire nécessaires, dans le cadre d'une migration de données ou de maintenance de la solution logicielle :term:`VITAM`.

Ils ne stoppent donc pas:

- Les versements qui sont encore en cours de traitement (il est toutefois possible de les mettre en pause via ihm-demo par exemple)
- Les timers qui lancent divers traitements comme des sécurisations, pour cela, se référer au chapitre suivant

Procédure de maintenance liée aux `timers systemD`
--------------------------------------------------

Deux playbooks ansible sont fournis dans ``deployment/ansible-vitam-exploitation`` :

- ``stop_vitam_scheduling.yml`` : permettant d'arrêter uniquement les `Jobs Vitam`
- ``start_vitam_scheduling.yml`` : permettant de démarrer uniquement les `Jobs Vitam`. Ce playbook est à lancer une fois le démarrage des services correctement réalisé.

Procédure de maintenance sur les composants d'administration
-------------------------------------------------------------

Deux playbooks sont fournis dans ``deployment/ansible-vitam-exploitation`` :

- ``stop_vitam_admin.yml`` : permettant d'arrêter sélectivement les composants Consul, la chaine de log (logstash / cluster elasticsearch-log / kibana-log), cerebro et les docker mongo-express et elasticsearch-head
- ``start_vitam_admin.yml`` : permettant de démarrer sélectivement les composants Consul, la chaine de log (logstash / cluster elasticsearch-log / kibana-log), cerebro et les docker mongo-express et elasticsearch-head

.. warning:: En passant le playbook d'arrêt, l'ensemble de la solution logicielle :term:`VITAM` devient inutilisable.

Procédure de maintenance des `IHM`
----------------------------------

Deux playbooks sont fournis dans ``deployment/ansible-vitam-exploitation`` :

- ``stop_vitam_ihm.yml`` : permettant d'arrêter sélectivement les composants :term:`VITAM` :term:`IHM` ihm-demo et ihm-recette
- ``start_vitam_ihm.yml`` : permettant de démarrer sélectivement les composants :term:`VITAM` :term:`IHM` ihm-demo et ihm-recette

Procédure de maintenance des `Bases de données métier`
-------------------------------------------------------

Quatre playbooks sont fournis dans ``deployment/ansible-vitam-exploitation`` :

- ``start_elasticsearch_data.yml`` : pemettant de démarrer le cluster elasticsearch-data
- ``start_mongodb.yml`` : permettant de démarrer les clusters mongodb (mongo-data & mongo-offer)
- ``stop_elasticsearch_data.yml`` : permettant d'arrêter le cluster elasticsearch-data
- ``stop_mongodb.yml`` : permettant d'arrêter les clusters mongodb (mongo-data & mongo-offer)
