Installation du patch

Extraction du patch et installation

Les patchs sont fournis dans une archive en ".tar.gz". Il convient de les décompresser avec la commande suivante :

$ tar xf shinken-enterprise_V02.08.02-CumulativePatch-XX_FR_Linux_FULL_YYYY-MM-DD.tar.gz

Les fichiers contenus dans l'archive sont regroupés dans un dossier du même nom que le patch.

Pour installer le patch, il faut se déplacer dans ce dossier et lancer l'installation avec le script : "install-patch.sh".

$ cd shinken-enterprise_V02.08.02-CumulativePatch-XX_FR_Linux_FULL_YYYY-MM-DD/
$ ./install-patch.sh

Il est possible d'utiliser l'option "--force" afin de ne pas devoir valider les différentes demandes de confirmation présentes dans le déroulement du patch.

( cela peut être utile lorsque l'on veut intégrer l'installation du patch dans un script )

Il est possible d'utiliser l'option "--disable-daemons-restart-after-update" pour ne pas redémarrer les démons à la fin de l'installation du patch.
Cela peut être utile pour automatiser l'installation du patch sur plusieurs machines, et redémarrer tous les démons de toutes les machines en même temps ( afin d'éviter par exemple qu'un Arbiter mis à jour tente de parler avec des démons qui ne le sont pas ).

Cette option peut être utilisée en même temps que l'option "--force"

Installation du patch ( Mode avancé )

Options disponibles

OptionValeur par défautDescription
--force



---

Force à "oui" toutes les demandes de confirmation de l'utilisateur. Les démons seront redémarrés sauf si l'option "--disable-daemons-restart-after-update" est utilisée.

( Passer les demandes de saisies lors de la mise à jour )

--disable-daemons-restart-after-update

---

Désactive l'étape de redémarrage des démons après la mise à jour.

( Désactiver le redémarrage des démons à la fin de l'installation )

--ignore-pre-setup-non-blocking-errors

---

Permets d’ignorer certaines erreurs "mineures" qui pourraient arriver pendant les étapes non essentielles pour le bon fonctionnement de Shinken.

Cette option ignore les problèmes suivants :

  • Les erreurs lors de la sauvegarde du backup avant la mise à jour.

N’utilisez cette option qu’en présence de votre support dédié

Passer les demandes de saisies lors de l'installation

Pour automatiser l'installation du patch, via un script ansible par exemple, il faudra désactiver les demandes de saisies.

  • --force permet de désactiver les demandes de confirmation avant de continuer le processus.


Il vous est cependant fortement conseillé de lire les informations fournies lors de l'installation du patch.

Désactiver le redémarrage des démons à la fin de l'installation

Pour automatiser l'installation du patch sur plusieurs machines, et redémarrer tous les démons de toutes les machines en même temps ( afin d'éviter par exemple qu'un Arbiter mis à jour tente de parler avec des démons qui ne le sont pas ), il faudra utiliser l'option suivante :

  • --disable-daemons-restart-after-update permet de désactiver le redémarrage des démons à la fin de l'installation du patch.

Etapes de l'installation

Informations sur le patch et confirmation de l'installation

La première étape de l'installation consiste à présenter les correctifs et des informations sur le patch : démons impactés, actions automatiques ( Sanatize ) lors d'une mise à jour à lancer ... Les informations affichées en gris sont celles présentes dans le fichier readme.txt

Lors de cette étape, il est possible d'annuler l'installation du patch sans affecter la version.

Dans cette capture d'écran, la liste des correctifs est un court exemple et son contenu sera différent d'un patch à un autre.

Si le patch est déjà installé, alors l'installation s'arrêtera.


Pour réinstaller le patch, il faudra d'abord lancer le script de "revert" ( voir la deuxième partie de cette page ).

Sauvegarde des configurations

Avant d'appliquer les changements, le script fait une sauvegarde de la configuration du Synchronizer et du paramétrage de l'interface de Visualisation.

Cette sauvegarde est l'équivalent de la commande suivante :

shinken-backup --configuration --user

Toutes les sauvegardes sont placées dans un dossier et un sous dossier situé dans  /root/shinken/versions_and_patch_installations. Le nom de ce dossier comporte plusieurs informations :

  • La date et l'heure de la réalisation de la sauvegarde
  • Le nom complet de la version du patch

Celui du sous-dossier se nommera avec : 

  • Les mots : BACKUP_CONFIGURATION_PRE_PATCH
  • Suivi de trois tirets : ---
  • Puis le nom complet de la version du patch
  • Et enfin de trois tirets : ---

Ce nommage spécifique du dossier et du sous-dossier permet d'organiser et de retrouver plus facilement les sauvegardes effectuées au cours des installations des patchs et des versions.  

Il est possible d’ignorer certaines erreurs "mineures" qui pourraient arriver pendant les étapes non essentielles pour le bon fonctionnement de Shinken.

Pour se faire utilisez l’option --ignore-pre-setup-non-blocking-errors

Cette option ignore les problèmes suivants :

  • Les erreurs lors de la sauvegarde du backup avant la mise à jour.

N’utilisez cette option qu’en présence de votre support dédié

Installation des fichiers rpm

Il est possible que certains patchs installent de nouvelles dépendances qui sont livrées via RPM ( RedHat Package Manager ).

Application des règles SELinux

Dans certains patchs, des règles SELinux peuvent être mises à jour durant l'installation.

La mise à jour d'une règle SELinux impose de retirer d'abord les règles existantes avant d'installer sa mise à jour.  Il y a donc deux étapes:

  • Retrait des règles SELinux déjà installées par une installation ou un autre patch.
  • Installation de la nouvelle version de la règle SELinux.


Arrêt des démons

Le script présente les démons concernés par l'installation du patch. Seuls les démons concernés seront arrêtés.

Ils seront redémarrés à la fin du script.

Votre installation sera modifiée seulement quand cette étape sera terminée. Si vous ne pouvez pas éteindre un démon à ce moment-là, vous pouvez répondre "No" et votre installation ne sera pas affectée par le patch.

Retrait des patchs précédents

Afin de garantir que le patch s'installe sur la bonne version, il désinstalle les patchs précédents, du plus récent au plus ancien. Cela permet d'installer un patch sans avoir à désinstaller le patch précédent.

Cette étape ne modifie pas les fichiers de configuration. Cela implique que :

  • Les fichiers de configuration livrés dans un patch précédent avec l'extension ".patchnew" ne seront pas retirés. N'étant pas lus par la configuration, ils ne posent pas problème.
  • Les fichiers qui auraient été modifiés lors de l'installation par le patch ( ou par vos soins ) conserveront les modifications apportées.
  • Les fichiers ajoutés seront toujours présents.


Ici la liste des fichiers restaurés est un court exemple et son contenu sera différent d'un patch à un autre.

Si aucun patch précédent n'a été installé, alors cette étape ne changera rien à votre installation.

Sauvegarde des fichiers qui seront modifiés

Tous les fichiers modifiés par le patch sont sauvegardés afin de pouvoir retirer le patch si besoin.

Cette étape permet, lors de l'installation du prochain patch de revenir à la version d'origine.

Ici la liste des fichiers sauvegardés est un court exemple et son contenu sera différent d'un patch à un autre.

Copie des fichiers

Le script copie tous les fichiers nécessaires.

Ici la liste des fichiers sauvegardés est un court exemple et son contenu sera différent d'un patch à un autre.

Si vous aviez modifié des fichiers de configuration présents dans les dossier /etc/shinken et /opt/graphite/conf ( configuration de démon, de module, de pack... ), et que ces fichiers sont livrés dans le patch, ils ne seront pas écrasés.

Le script d'installation dépose le nouveau fichier juste à côté, renommé en ".patchnew". Vous pouvez alors regarder les différences entre ce fichier et votre fichier : ajout de nouveaux paramètres, modification des textes ...

La liste des fichiers ajoutés avec cette extension est présentée à la fin de l'installation du patch.


Les fichiers de configuration présents dans les dossiers suivants sont propres à l'installation de Shinken et seront donc écrasés :

  • /etc/shinken/packs/shinken
  • /etc/shinken/packs/shinken-core
  • /etc/shinken/_default
  • /etc/shinken/external
  • /etc/shinken-user-example
  • /etc/shinken-skeletons

Exécution des actions automatiques post installation ( Sanatize )

Certains patchs nécessitent d'effectuer des actions après l'installation pour modifier la base de données ou des fichiers de configuration.

Redémarrage des outils utilisés par Shinken

Il est possible que la désinstallation nécessite de redémarrer des services externes ( httpd ).

Redémarrage des démons

Les démons sont redémarrés après l'installation du patch.

Vous pouvez choisir de laisser Shinken éteint à cette étape, sans incidence sur la suite de l'installation ( modification manuelle à apporter, période de maintenance... )

Seuls les démons impactés par le patch seront redémarrés.

Une fois les démons redémarrés, l'installation est terminée.

Si des fichiers de configuration ont été livrés avec l'extension patchnew, la liste de ces fichiers est présentée à la fin de l'installation. Cette liste peut être retrouvée dans le dossier des logs d'installation présenté dans la partie sauvegarde de cette page.

Résolution des problèmes liés aux patchs

Les logs de l'installation

Pour chaque installation/désinstallation, un dossier est créé dans ~/shinken/versions_et_patch_installations/ et nommé comme suit:

# Installation
YYYY-MM-DD-HHhMMmSS-install-patch-VXX.XX.XX_PATCH_CUMULATIVE_XX


Ce dossier contient les dossiers et fichiers suivants :

  • Dossier de logs d'installation  : patch_installation_logs
    • Affichage du script d'installation : shinken.enterprise.patch.log ( installation seulement )
    • Nettoyage de la configuration : sanatize.log ( installation seulement )
    • Affichage des nouveaux fichiers de configuration créés : files_patchnew_created.log ( installation seulement )
  • Dossier de backup de la configuration et données utilisateur avant l'installation : BACKUP_CONFIGURATION_PRE_PATCH---VXX_XX_XX_PATCH_CUMULATIVE_XX--- ( installation seulement )