Présentation


Les patchs vous seront fournis par Shinken-Solutions pour corriger des bogues  sans avoir besoin de mettre à jour vers une version supérieure. Les patchs sont moins contraignants qu'une mise à jour complète, mais il faudra néanmoins redémarrer les démons impactés dans le patch ( la liste est précisée lors de l'installation ). Prévoyez donc une interruption de service pour l'installation d'un patch


Afin de voir si des patchs sont déjà installés, il faut utiliser l'option "--show-history" du Shinken-healthcheck :


Installation d'un patch

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

$ tar xf shinken-enterprise_2021-01-06_V02.07.06-CumulativePatch-06_FR.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_2021-01-06_V02.07.06-CumulativePatch-06_FR/
$ ./install-patch.sh


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

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

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, sanatize à 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 fixes 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.  



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écents au plus ancien. Cela permet d'installer un patch sans avoir à désinstaller le patch précédant.

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

  • Les fichiers de configuration livrés dans un patch précédant avec l'extension ".patchnew" ne seront pas retirés. Nétant pas lus par la configuration, il ne posent pas problèmes.
  • Les fichiers qui auraient été modifié lors de l'installation par le patch, ou par vos soins conserveront les modifications apportés.
  • 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ésent 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

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épar une installation ou un patch
  • installation de la nouvelle version de la règle Selinux



Installation des fichiers rpm

Il est possible que certains patchs installent des nouvelles dépendances qui sont livrées en RPM ( Red hat Package Manager ).


Exécution des "Sanatizes"

Certains patchs nécessitent de passer des "Sanatize" pour modifier la base de données ou des fichiers de configuration.



Redémarrage des démons Shinken

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.


Redémarrage des démons externes

Il est possible que l'installation nécessite de redémarrer des services externes (ex. : httpd).


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é à la fin de l'installation. Cette liste peut être retrouvé dans le dossiers des logs d'installation présenté dans la partie sauvegarde de cette page.

Désinstallation d'un patch

La désinstallation du patch peut s'effectuer depuis le répertoire du patch à l'aide du script revert-patch.sh

$ cd shinken-enterprise_2021-01-06_V02.07.06-CumulativePatch-06_FR/
$ ./revert-patch.sh


La désinstallation d'un patch aura pour effet de retrouver la dernière version officiel originale qui a été installée sur le serveur ( celle mise en place via un install.sh ou update.sh ).


Ex. : Sur une version 02.07.06,

  1. Vous installez le patch 01,
  2. Puis le patch 02.

Si vous désinstaller le patch 02, la version est la 02.07.06 et non le patch 01.


Informations sur le patch et confirmation de la désinstallation

La première étape de la désinstallation consiste à présenter les correctifs et des informations sur le patch : démons impactés, sanatize à 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 la désinstallation du patch (serveur non concerné, redémarrage impossible ...)



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


Sauvegarde des configurations

Avant de désinstaller le patch, 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_UNPATCH
  • 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.  



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 revert


Restauration des règles SELINUX

Si des règles SELINUX ont été mises à jour pendant l'installation du patch, celles-ci sont également désinstallées.



Restauration des fichiers

Les fichiers présents avant l'installation du patch sont restaurés à leurs emplacements.



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



Redémarrage des démons

Les démons sont redémarrés après la désinstallation du patch.

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





Redémarrage des démons externes

Il est possible que l'installation nécessite de redémarrer des services externes (httpd).


A ce stade la désinstallation du patch est terminée.

Concernant les fichiers de configuration:

  • les fichiers ajoutés avec l'extension ".patchnew" ne sont pas retirés. Comme ils ne sont pas pris en compte dans la configuration, cela n'a pas d'incidence.
  • Les fichiers de configuration modifiés à l'installation du patch (fichier non modifiés manuellement depuis l'installation) ne sont pas re-modifier. Les paramètres éventuellement ajoutés ne seront plus utilisés par le code mais cela ne gène pas le fonctionnement de Shinken